Greenfoot. Wie formuliert man ein Befehl, welcher ausdrückt etwas NICHT zu tun?
Hallo :) In der Schule im Informatik Unterricht programmieren wir mit Java in Greenfoot. Wir sollen ein Spiel selber programmieren. Nun wollten wir ein Labyrinth programmieren in welchem sich ein Geist hin und her bewegt. Nun aber sitzen wir schon mehrere Wochen daran und wissen nicht wie wir einen Befehl aufstellen sollen, welcher es dem Geist verbietet über die Wände des Labyrinths zu laufen.
Ich bin schon völlig verzweifelt und weiß einfach nicht mehr weiter :( Ich hoffe ihr könnt mir dabei helfen. Bzw einen Tipp geben wie man einen Befehl schreibt, welcher etwas "verbietet" :)
Vielen Dank im Voraus c:
1 Antwort
Nun, man kann so einen Befehlt positiv oder negativ formulieren.
Entweder "Wenn <Richtung> nicht blockiert" oder "Wenn <Richtung> frei"
Du kannst auch eine Testmethode schreiben.
"Laufe in Richtung. Kopf gestoßen? → Gehe einen Schritt zurück"
(Greenfoot sagt mir nichts)
Ja sowas in der Art habe ich schon probiert.
Ich habe geschrieben:
if(canSee(Wand.class)) { }
else { if (Greenfoot.isKeyDown("A")) { turn(-5); } if (Greenfoot.isKeyDown("D")) { turn(5); } if(Greenfoot.isKeyDown("W")) { move (10); } if (Greenfoot.isKeyDown ("S")) { move(-10); } isTouching(); removeTouching(); }
Naja und so weiter. Aber ich weiß halt nicht wie ich bei canSee(Wand.class) den Befehl so formuliere, dass der Geist da nicht rüber läuft :/
So wie es jetzt ist, stoppt der Geist beim berühren der Wand nur und kann sich nicht mehr bewegen :(