EDV | BALLWURF-SPIEL

Hallo Leute,

wir haben heute im EDV-Unterricht ein kleines aber feines Minispiel erstellt, die Aufgabe des Spieles besteht darin, dass ziel mit dem Ball zu treffen.  Hier einmal eine Liste mit den Tastenbelegungen :

Pfeiltasten: Ball auf der X- & Z-Achse bewegen

Leertaste & y: Ball auf der Y-Achse bewegen

e: Ball werfen

j: Spiel nach erfolgtem abwurf neustarten

Bei der Steuerung muss CAPS unbedingt deaktiviert sein.

Da das Programm noch nicht komplementiert wurde, müsst ihr es mit Hilfe einer Entwicklungsumgebung für Java, wie z.B BlueJ, öffnen. Außerdem muss die Java-Libary GLOOP installiet sein.

Klicke hier um zum Download zu gelangen

Der Quellcode:


import GLOOP.*;

class main {
 
 GLKamera kamera;
 GLLicht licht;
 GLHimmel himmel;
 GLTastatur tastatur;
 
 GLKugel ball;
 GLZylinder scheibe1;
 GLZylinder scheibe2;
 GLZylinder scheibe3;
 GLTafel tafel;
 GLTafel tafel2;
 
 main()
 {
 kamera = new GLKamera(1600,2000);
 licht = new GLLicht();
 himmel = new GLHimmel("sky.jpg");
 tastatur = new GLTastatur();
 
 ball = new GLKugel(0,0,0,20);
 
 tafel = new GLTafel(0,200,100,200,100);
 tafel2 = new GLTafel(0,-100,100,200,100);
 
 //Zielscheibe
 
 scheibe1 = new GLZylinder(0,50,-250,50,2);
 scheibe1.setzeTextur("scheibe.jpg");
 
 ballwurf();
 }
 
 void ballwurf(){
 while(!tastatur.istGedrueckt('q')){ 
 while(!tastatur.istGedrueckt('e')){
 if (tastatur.links()){
 ball.verschiebe(-1,0,0);
 }
 if (tastatur.rechts()){
 ball.verschiebe(1,0,0);
 }
 if (tastatur.unten()){
 ball.verschiebe(0,0,1);
 }
 if (tastatur.oben()){
 ball.verschiebe(0,0,-1);
 }
 if (tastatur.istGedrueckt(' ')){
 ball.verschiebe(0,1,0);
 }
 if (tastatur.istGedrueckt('y')){
 ball.verschiebe(0,-1,0);
 }
 Sys.warte();
 }
 
 while(ball.gibZ()>-250){
 ball.verschiebe(0,0,-1);
 Sys.warte();
 } 
 // Berechnen der Entfernung Ball - Ziel
 double a = scheibe1.gibX()-ball.gibX();
 double b = scheibe1.gibY()-ball.gibY();
 double c = Math.sqrt(a*a+b*b);
 
 //Punkteberechnung
 double p = 2500/c;
 p = Math.round(p); //Runden
 
 //Ausgabe
 if(c<10){
 tafel.setzeText("Volltreffer!" + p + "Punkte", 10);
 }
 if(c<25 && c>9){
 tafel.setzeText("Treffer!" + p + "Punkte", 10);
 }
 if(c<51 && c>24){
 tafel.setzeText("Gerade so noch getroffen!" + p + "Punkte", 10);
 }
 if(c>=51) {
 tafel.setzeText("Traurig..." + "0 Punkte", 10);
 }
 Sys.warte();
 while(!tastatur.istGedrueckt('j')){
 
 if (tafel2.gibText() == "Wenn du es ein weiteres mal probieren möchtest druecke J !"){
 // NICHTS
 }
 else{
 tafel2.setzeText("Wenn du es ein weiteres mal probieren möchtest druecke J !", 10);
 }
 ball.setzePosition(0,0,0);
 Sys.warte();
 }
 Sys.warte();
 }
 }
}

Viel Spaß !