Aktualisierung für HS 2019

This commit is contained in:
Patrick Feisthammel 2019-09-12 07:52:17 +02:00
parent 15bcc5d8e9
commit 79e83701f5
6 changed files with 111 additions and 117 deletions

View File

@ -1,14 +1,3 @@
------------------------------------------------------------------------
Dies ist die README-Datei des Projekts. Hier sollten Sie Ihr Projekt
beschreiben.
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:
PROJEKTBEZEICHNUNG: 04_Praktikum-1_Snake
PROJEKTZWECK: Übung im Rahmen von PROG1
VERSION: Aufgabenstellung

View File

@ -1,12 +1,12 @@
import java.awt.Point;
import java.util.ArrayList;
import java.util.List;
/**
* Repraesentiert eine Schlange
*
*/
public class Schlange {
private ArrayList<Point> schlange;
private List<Point> schlange;
/**
* Konstruiert eine Schlangen mit Startposition
@ -16,7 +16,7 @@ public class Schlange {
* @param y y-Koordinate der Schlangenposition
*/
public Schlange(int x, int y) {
schlange = new ArrayList<Point>();
schlange = new ArrayList<>();
schlange.add(new Point(x, y));
}
@ -43,7 +43,7 @@ public class Schlange {
/**
* Bewege die Schlange in die angegebene Richtung.
* Gueltige Richtungen sind:
*
* <p>
* w (oben)
* s (unten)
* a (links)
@ -70,6 +70,8 @@ public class Schlange {
schlange.add(new Point(kopf.x + 1, kopf.y));
schlange.remove(0);
break;
default:
System.out.println("Ungültige Taste");
}
}

View File

@ -3,7 +3,7 @@ import java.util.Scanner;
/**
* Spielklasse des Spiels Snake.
*
* <p>
* Ziel dieses Spiels ist es alle Goldstuecke einzusammeln und
* die Tuer zu erreichen, ohne sich selber zu beissen oder in
* die Spielfeldbegrenzung reinzukriechen.
@ -14,21 +14,24 @@ public class SnakeSpiel {
private Spielfeld spielfeld;
private Point goldStueck;
private boolean spielLaeuft = true;
private Scanner scanner;
public static void main(String[] args) {
new SnakeSpiel().spielen();
}
/**
* Startet das Spiel.
*/
public void spielen() {
scanner = new Scanner(System.in);
spielInitialisieren();
while (spielLaeuft) {
zeichneSpielfeld();
ueberpruefeSpielstatus();
fuehreSpielzugAus();
}
}
public static void main(String[] args) {
new SnakeSpiel().spielen();
scanner.close();
}
private void spielInitialisieren() {
@ -96,7 +99,6 @@ public class SnakeSpiel {
}
private char liesZeichenVonTastatur() {
Scanner scanner = new Scanner(System.in);
char konsolenEingabe = scanner.next().charAt(0);
return konsolenEingabe;
}

View File

@ -1,4 +1,5 @@
import java.awt.Point;
import java.util.Random;
/**
* Enthaelt Angaben zum Spielfeld
@ -6,6 +7,7 @@ import java.awt.Point;
public class Spielfeld {
private int hoehe;
private int breite;
private Random random = new Random();
/**
* Konstruiert ein Spielfeld mit der gegebenen Breite
@ -54,8 +56,8 @@ public class Spielfeld {
* @return zufaelliger Standort innerhalb des Spielfelds
*/
public Point erzeugeZufallspunktInnerhalb() {
int xKoordinate = (int)(Math.random() * this.breite);
int yKoordinate = (int)(Math.random() * this.hoehe);
int xKoordinate = random.nextInt(this.breite);
int yKoordinate = random.nextInt(this.hoehe);
return new Point(xKoordinate, yKoordinate);
}
}

View File

@ -8,43 +8,46 @@ dependency2.type=UsesDependency
dependency3.from=SnakeSpiel
dependency3.to=Spielfeld
dependency3.type=UsesDependency
package.editor.height=400
package.editor.width=560
package.editor.x=449
package.editor.y=246
editor.fx.0.height=0
editor.fx.0.width=0
editor.fx.0.x=0
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.numTargets=4
package.showExtends=true
package.showUses=true
project.charset=UTF-8
target1.editor.height=700
target1.editor.width=900
target1.editor.x=314
target1.editor.y=252
readme.height=58
readme.name=@README
readme.width=47
readme.x=10
readme.y=10
target1.height=50
target1.name=Spielfeld
target1.name=SnakeSpiel
target1.naviview.expanded=false
target1.showInterface=false
target1.type=ClassTarget
target1.width=80
target1.x=280
target1.y=30
target2.editor.height=700
target2.editor.width=900
target2.editor.x=314
target2.editor.y=252
target1.width=90
target1.x=100
target1.y=150
target2.height=50
target2.name=Schlange
target2.name=Spielfeld
target2.naviview.expanded=false
target2.showInterface=false
target2.type=ClassTarget
target2.width=80
target2.x=330
target2.y=120
target3.editor.height=700
target3.editor.width=900
target3.editor.x=314
target3.editor.y=252
target2.x=280
target2.y=30
target3.height=50
target3.name=Tuer
target3.naviview.expanded=false
@ -53,15 +56,11 @@ target3.type=ClassTarget
target3.width=80
target3.x=310
target3.y=240
target4.editor.height=700
target4.editor.width=900
target4.editor.x=314
target4.editor.y=252
target4.height=50
target4.name=SnakeSpiel
target4.name=Schlange
target4.naviview.expanded=false
target4.showInterface=false
target4.type=ClassTarget
target4.width=90
target4.x=100
target4.y=150
target4.width=80
target4.x=330
target4.y=120