SelfmadeIce Geschrieben 23. November 2011 Geschrieben 23. November 2011 (bearbeitet) Guten Abend, ich habe so ein kleines Problem. Ich programmiere eine kleine "Anwendung" mit Greenfoot. Es geht darum, dass ein Roboter bis zu einer Wand läuft und diese Wand umrundet. Code folgt. Also. Ich weiß nicht genau, wie ich es umsetzten kann. Ich möchte/sollte das mit If-Befehlen und/oder While-Schleifen bearbeiten. (Mir ist die "normale" While-Schleife bekannt, und auch die Do-While-Schleife). Falls ihr mir irgendwie helfen könnt, bitte ich um nicht allzu komplexe Codes. Anhänge: Bild meines Projekts (siehe Hauptbild; Bild 1) Ablauf des Projekts (siehe Ablauf; Bild 2) Mein Problem: ist, dass ich von der ersten auf die zweite Position nicht komme. Das sollte aber in jeder Ecke passieren. Erste Position (siehe Erste Position; Bild 3) Zweite Position (siehe Zweite Position; Bild 4) Mein Problem nochmal aufgezeichnet (siehe Problem; Bild 5) Ich bekomme es nicht umgesetzt (nachdem der Roboter sich Links gedreht hat und einen Schritt nach vorn gemacht hat) , dass er sich nach Rechts dreht. Wie schon erwähnt, sollte das in jeder Ecke geschehen. public class Robby extends Roboter { public void act() { if (!wandVorne()) { bewegen(); } else { dreheLinks(); } do { bewegen(); } while (wandUnten()); } } Ich hoffe, ihr konntet mein Problem so halbwegs verstehen, ansonsten fragt doch bitte nach. Zudem habe ich mein Greenfoot-Projekt in die Anhänge gepackt, falls Fragen auftreten und ich diese nicht schnell genug beantworte. Ansonsten sage ich mal, danke im Voraus. MfG7. Roboter.rar Bearbeitet 23. November 2011 von SelfmadeIce Zitieren
Sacaldur Geschrieben 25. November 2011 Geschrieben 25. November 2011 (von Greenfoot habe ich bishern icht gehört...) da wir nicht wissen, wie du dir denkst, wie du es machen musst, hier erstmal das, was ich den Roboter machen lassen würde er bewegt sich solange geradeaus, bis er gegen ein hindernis stößt dann dreht er sich gegen den Uhrzeigersinn schritt nach vorne und wiederholt dann folgendes endlose: -nach rechts drehen -wenn schritt nach vorne nicht möglich ist: --nach links drehen bis Schritt nach vorne möglich ist -Schritt nach vorne Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.