Hallo alle zusammen
Ich hoffe jemand kann mir bei meinem Problem helfen??
Und zwar soll ich im Unterricht ein Programm mit Greenfoot programmieren .
Mein Problem liegt bei der Steuerung. Der "actor" soll per Tastatur gesteuert werden. Wenn man z.B. nach links drückt, soll der "actor" automatisch immer weiter nach links gehen. Man soll von da an nicht mehr die Möglichkeit haben die Richtung des "actors" zu ändern, bis diser das nächste Feld erreicht, ab da an soll man wieder die Möglichkeit haben die Richtung zu ändern.
Mein Ansatz war eigentlich, doch dies funktioniert nicht so richtig:
public class Crab
{
private boolean feldErReicht;
}
public Crab()
{
feldErReicht=true;
}
public void act()
{
if (Greenfoot.isKeyDown("left"))
{
feldErReicht=false;
while(feldErReicht==false)
{
setLocation(getX()-1,getY());
feldErReicht();
}
}
public void feldErReicht()
{
if(canSee(WAND.class))
{
feldErReicht=true;
}
}
Wenn man dann das Projekt startet, und nach links laufen will, läuft der "actor"
1. nicht automatisch,
2. stoppt das Programm, sobald er zur Hälfte das Feld, auf welchem er zu beginn steht verlässt.
Ich hab schon entwas länger draüber nachgedacht, wo der Fehler liegt, ein paar Ideen sind mir zwar eingefallen, aber dann hab ich sie gleich verworfen.
Hat vielleicht jemand eine Lösung für mein Problem.
Es kann auch ein ganz anderer Ansatz für die Steuerung des "ctors" sein.
Schon mal vielen Dank an alle, die sich die Mühe machen sich mit meinem Problem zu befassen =)
fary
ps.: bitte nicht auf Rechtschreibfehler achten
fary Gast |