Aktualisierung für HS 2019
This commit is contained in:
parent
15bcc5d8e9
commit
79e83701f5
17
README.TXT
17
README.TXT
|
@ -1,14 +1,3 @@
|
||||||
------------------------------------------------------------------------
|
PROJEKTBEZEICHNUNG: 04_Praktikum-1_Snake
|
||||||
Dies ist die README-Datei des Projekts. Hier sollten Sie Ihr Projekt
|
PROJEKTZWECK: Übung im Rahmen von PROG1
|
||||||
beschreiben.
|
VERSION: Aufgabenstellung
|
||||||
Erzählen Sie dem Leser (jemand, der nichts über dieses Projekt weiss),
|
|
||||||
alles, was er/sie wissen muss. Üblicherweise sollte der Kommentar
|
|
||||||
zumindest die folgenden Angaben umfassen:
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
PROJEKTBEZEICHNUNG:
|
|
||||||
PROJEKTZWECK:
|
|
||||||
VERSION oder DATUM:
|
|
||||||
WIE IST DAS PROJEKT ZU STARTEN:
|
|
||||||
AUTOR(EN):
|
|
||||||
BENUTZERHINWEISE:
|
|
|
@ -1,12 +1,12 @@
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Repraesentiert eine Schlange
|
* Repraesentiert eine Schlange
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class Schlange {
|
public class Schlange {
|
||||||
private ArrayList<Point> schlange;
|
private List<Point> schlange;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Konstruiert eine Schlangen mit Startposition
|
* Konstruiert eine Schlangen mit Startposition
|
||||||
|
@ -16,7 +16,7 @@ public class Schlange {
|
||||||
* @param y y-Koordinate der Schlangenposition
|
* @param y y-Koordinate der Schlangenposition
|
||||||
*/
|
*/
|
||||||
public Schlange(int x, int y) {
|
public Schlange(int x, int y) {
|
||||||
schlange = new ArrayList<Point>();
|
schlange = new ArrayList<>();
|
||||||
schlange.add(new Point(x, y));
|
schlange.add(new Point(x, y));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ public class Schlange {
|
||||||
/**
|
/**
|
||||||
* Bewege die Schlange in die angegebene Richtung.
|
* Bewege die Schlange in die angegebene Richtung.
|
||||||
* Gueltige Richtungen sind:
|
* Gueltige Richtungen sind:
|
||||||
*
|
* <p>
|
||||||
* w (oben)
|
* w (oben)
|
||||||
* s (unten)
|
* s (unten)
|
||||||
* a (links)
|
* a (links)
|
||||||
|
@ -70,6 +70,8 @@ public class Schlange {
|
||||||
schlange.add(new Point(kopf.x + 1, kopf.y));
|
schlange.add(new Point(kopf.x + 1, kopf.y));
|
||||||
schlange.remove(0);
|
schlange.remove(0);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
System.out.println("Ungültige Taste");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ import java.util.Scanner;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Spielklasse des Spiels Snake.
|
* Spielklasse des Spiels Snake.
|
||||||
*
|
* <p>
|
||||||
* Ziel dieses Spiels ist es alle Goldstuecke einzusammeln und
|
* Ziel dieses Spiels ist es alle Goldstuecke einzusammeln und
|
||||||
* die Tuer zu erreichen, ohne sich selber zu beissen oder in
|
* die Tuer zu erreichen, ohne sich selber zu beissen oder in
|
||||||
* die Spielfeldbegrenzung reinzukriechen.
|
* die Spielfeldbegrenzung reinzukriechen.
|
||||||
|
@ -14,21 +14,24 @@ public class SnakeSpiel {
|
||||||
private Spielfeld spielfeld;
|
private Spielfeld spielfeld;
|
||||||
private Point goldStueck;
|
private Point goldStueck;
|
||||||
private boolean spielLaeuft = true;
|
private boolean spielLaeuft = true;
|
||||||
|
private Scanner scanner;
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
new SnakeSpiel().spielen();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Startet das Spiel.
|
* Startet das Spiel.
|
||||||
*/
|
*/
|
||||||
public void spielen() {
|
public void spielen() {
|
||||||
|
scanner = new Scanner(System.in);
|
||||||
spielInitialisieren();
|
spielInitialisieren();
|
||||||
while (spielLaeuft) {
|
while (spielLaeuft) {
|
||||||
zeichneSpielfeld();
|
zeichneSpielfeld();
|
||||||
ueberpruefeSpielstatus();
|
ueberpruefeSpielstatus();
|
||||||
fuehreSpielzugAus();
|
fuehreSpielzugAus();
|
||||||
}
|
}
|
||||||
}
|
scanner.close();
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
new SnakeSpiel().spielen();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void spielInitialisieren() {
|
private void spielInitialisieren() {
|
||||||
|
@ -96,7 +99,6 @@ public class SnakeSpiel {
|
||||||
}
|
}
|
||||||
|
|
||||||
private char liesZeichenVonTastatur() {
|
private char liesZeichenVonTastatur() {
|
||||||
Scanner scanner = new Scanner(System.in);
|
|
||||||
char konsolenEingabe = scanner.next().charAt(0);
|
char konsolenEingabe = scanner.next().charAt(0);
|
||||||
return konsolenEingabe;
|
return konsolenEingabe;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enthaelt Angaben zum Spielfeld
|
* Enthaelt Angaben zum Spielfeld
|
||||||
|
@ -6,6 +7,7 @@ import java.awt.Point;
|
||||||
public class Spielfeld {
|
public class Spielfeld {
|
||||||
private int hoehe;
|
private int hoehe;
|
||||||
private int breite;
|
private int breite;
|
||||||
|
private Random random = new Random();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Konstruiert ein Spielfeld mit der gegebenen Breite
|
* Konstruiert ein Spielfeld mit der gegebenen Breite
|
||||||
|
@ -54,8 +56,8 @@ public class Spielfeld {
|
||||||
* @return zufaelliger Standort innerhalb des Spielfelds
|
* @return zufaelliger Standort innerhalb des Spielfelds
|
||||||
*/
|
*/
|
||||||
public Point erzeugeZufallspunktInnerhalb() {
|
public Point erzeugeZufallspunktInnerhalb() {
|
||||||
int xKoordinate = (int)(Math.random() * this.breite);
|
int xKoordinate = random.nextInt(this.breite);
|
||||||
int yKoordinate = (int)(Math.random() * this.hoehe);
|
int yKoordinate = random.nextInt(this.hoehe);
|
||||||
return new Point(xKoordinate, yKoordinate);
|
return new Point(xKoordinate, yKoordinate);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -8,43 +8,46 @@ dependency2.type=UsesDependency
|
||||||
dependency3.from=SnakeSpiel
|
dependency3.from=SnakeSpiel
|
||||||
dependency3.to=Spielfeld
|
dependency3.to=Spielfeld
|
||||||
dependency3.type=UsesDependency
|
dependency3.type=UsesDependency
|
||||||
package.editor.height=400
|
editor.fx.0.height=0
|
||||||
package.editor.width=560
|
editor.fx.0.width=0
|
||||||
package.editor.x=449
|
editor.fx.0.x=0
|
||||||
package.editor.y=246
|
editor.fx.0.y=0
|
||||||
|
objectbench.height=163
|
||||||
|
objectbench.width=451
|
||||||
|
package.divider.horizontal=0.599476439790576
|
||||||
|
package.divider.vertical=0.66
|
||||||
|
package.editor.height=323
|
||||||
|
package.editor.width=670
|
||||||
|
package.editor.x=451
|
||||||
|
package.editor.y=234
|
||||||
|
package.frame.height=600
|
||||||
|
package.frame.width=800
|
||||||
package.numDependencies=3
|
package.numDependencies=3
|
||||||
package.numTargets=4
|
package.numTargets=4
|
||||||
package.showExtends=true
|
package.showExtends=true
|
||||||
package.showUses=true
|
package.showUses=true
|
||||||
project.charset=UTF-8
|
project.charset=UTF-8
|
||||||
target1.editor.height=700
|
readme.height=58
|
||||||
target1.editor.width=900
|
readme.name=@README
|
||||||
target1.editor.x=314
|
readme.width=47
|
||||||
target1.editor.y=252
|
readme.x=10
|
||||||
|
readme.y=10
|
||||||
target1.height=50
|
target1.height=50
|
||||||
target1.name=Spielfeld
|
target1.name=SnakeSpiel
|
||||||
target1.naviview.expanded=false
|
target1.naviview.expanded=false
|
||||||
target1.showInterface=false
|
target1.showInterface=false
|
||||||
target1.type=ClassTarget
|
target1.type=ClassTarget
|
||||||
target1.width=80
|
target1.width=90
|
||||||
target1.x=280
|
target1.x=100
|
||||||
target1.y=30
|
target1.y=150
|
||||||
target2.editor.height=700
|
|
||||||
target2.editor.width=900
|
|
||||||
target2.editor.x=314
|
|
||||||
target2.editor.y=252
|
|
||||||
target2.height=50
|
target2.height=50
|
||||||
target2.name=Schlange
|
target2.name=Spielfeld
|
||||||
target2.naviview.expanded=false
|
target2.naviview.expanded=false
|
||||||
target2.showInterface=false
|
target2.showInterface=false
|
||||||
target2.type=ClassTarget
|
target2.type=ClassTarget
|
||||||
target2.width=80
|
target2.width=80
|
||||||
target2.x=330
|
target2.x=280
|
||||||
target2.y=120
|
target2.y=30
|
||||||
target3.editor.height=700
|
|
||||||
target3.editor.width=900
|
|
||||||
target3.editor.x=314
|
|
||||||
target3.editor.y=252
|
|
||||||
target3.height=50
|
target3.height=50
|
||||||
target3.name=Tuer
|
target3.name=Tuer
|
||||||
target3.naviview.expanded=false
|
target3.naviview.expanded=false
|
||||||
|
@ -53,15 +56,11 @@ target3.type=ClassTarget
|
||||||
target3.width=80
|
target3.width=80
|
||||||
target3.x=310
|
target3.x=310
|
||||||
target3.y=240
|
target3.y=240
|
||||||
target4.editor.height=700
|
|
||||||
target4.editor.width=900
|
|
||||||
target4.editor.x=314
|
|
||||||
target4.editor.y=252
|
|
||||||
target4.height=50
|
target4.height=50
|
||||||
target4.name=SnakeSpiel
|
target4.name=Schlange
|
||||||
target4.naviview.expanded=false
|
target4.naviview.expanded=false
|
||||||
target4.showInterface=false
|
target4.showInterface=false
|
||||||
target4.type=ClassTarget
|
target4.type=ClassTarget
|
||||||
target4.width=90
|
target4.width=80
|
||||||
target4.x=100
|
target4.x=330
|
||||||
target4.y=150
|
target4.y=120
|
||||||
|
|
Loading…
Reference in New Issue