Hallo,
ich bin gerade dabei Ein Snake Spiel zu programmieren. Und nunja diesmal will ich das Objektorientiere Konzept zu 100% umsetzen und keine Designfehler machen. Klar es werden vermutlich einige sein bis zur Fertigstellung, da ich noch Anfänger bin, aber ich versuche eben möglichst wenige zu machen und am Ende lasse ich das Projekt dann vermutlich hier nochmal genauer unter die Lupe nehmen.
Ich habe für mein Snake SPiel mehrere Klassen:
SnakeGame, Labyrinth(evtl. später als abstrakte Klasse mit verschiedenen Labyrinthen als Unterklasse), Snake, Bewegung und Essen.
Ich habe mir nun einen eigenen Plan gemacht(UML kann ich leider noch nicht), wo beschrieben ist, wleche Klasse welche Objektvariablen haben soll. Ich bin zu dem Schluss gekommen, dass eine Bewegung eine Geschwindigkeit hat.
Leider weiß ich nicht wie ich es schaffe, dass ein Objekt von Bewegung eine Objektvariable Geschwindigkeit hat. Durch Änderung von Geschwindigkeit soll sich natürlich auch die Geschwindigkeit der Schlange ändern. Dafür müsste TimerTask eine Methode habe num im nachhhinein diese Periode zu verändern. Diese ist mir leider nicht bekannt.
mfg hyperion
ich bin gerade dabei Ein Snake Spiel zu programmieren. Und nunja diesmal will ich das Objektorientiere Konzept zu 100% umsetzen und keine Designfehler machen. Klar es werden vermutlich einige sein bis zur Fertigstellung, da ich noch Anfänger bin, aber ich versuche eben möglichst wenige zu machen und am Ende lasse ich das Projekt dann vermutlich hier nochmal genauer unter die Lupe nehmen.
Ich habe für mein Snake SPiel mehrere Klassen:
SnakeGame, Labyrinth(evtl. später als abstrakte Klasse mit verschiedenen Labyrinthen als Unterklasse), Snake, Bewegung und Essen.
Ich habe mir nun einen eigenen Plan gemacht(UML kann ich leider noch nicht), wo beschrieben ist, wleche Klasse welche Objektvariablen haben soll. Ich bin zu dem Schluss gekommen, dass eine Bewegung eine Geschwindigkeit hat.
Code:
import java.util.TimerTask;
public class Bewegung extends TimerTask
{
...
@Override
public void run()
{
if (direction == RIGHT)
{
schlange.moveRight();
}
if (direction == LEFT)
{
schlange.moveLeft();
}
if (direction == UP)
{
schlange.moveUp();
}
if (direction == DOWN)
{
schlange.moveDown();
}
if (direction == STOP)
{
schlange.stop();
}
schlange.getLabirinth().repaint();
}
}
Leider weiß ich nicht wie ich es schaffe, dass ein Objekt von Bewegung eine Objektvariable Geschwindigkeit hat. Durch Änderung von Geschwindigkeit soll sich natürlich auch die Geschwindigkeit der Schlange ändern. Dafür müsste TimerTask eine Methode habe num im nachhhinein diese Periode zu verändern. Diese ist mir leider nicht bekannt.
mfg hyperion