Unterklasse von TimerTask mit Instanzvariable der Periode

Status
Nicht offen für weitere Antworten.

hyperion

Bekanntes Mitglied
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.

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
 
Hallo,

es ist nciht direkt die Gerschwindigkeit sondern das Intervall der Ausführung, welches sich so halt in der Geschwindigkeit äußert. Und ich finde schon dass, das eine Eigenschaft einer Bewegung ist welche eine TimerTask ist.

Auf meinem Handy(altes Nokia), kann ich ja auch die Geschwindigkeit einstellen. Deshalb will ich in meinem Game das auch machen können. Das heißt irgendwo muss ic hdie Geschwindigkeit speichern und da erscheint mir Bewegung am sinnvollsten.

mfg hyperion
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben