Wie erreiche ich das Vorwärtsgehen eines Roboters?

mathilda712

Mitglied
Ich habe die Aufgabe, dass ein Roboter nur dann einen Vorwärtsschritt macht, wenn dieser auch innerhalb der Welt ist, sonst folgen weitere Aktionen.

Nun hatte ich die Idee zwei if-Verzweigungen zu definieren. Bei der ersten if-Verweigung führt ein Vorwärtsschritt nicht aus der Welt hinaus und der Roboter führt diesen ohne weitere Aktion aus. In der zweiten if-Verzweigung würde ein Schritt aus der Welt hinausführen, weswegen Aktionen folgen, die das verhindern.

Nun habe ich bereits einen groben Ansatz:

//Definieren, was aus der Welt hinaus ist
//DANN

//1:
// If - Schritt führt aus Welt hinaus
// turnLeft
// turnLeft
// for-Schleife für Vorwärtsschritt

//2:
//If - Schritt führt nicht aus Welt hinaus
//for-Schleife für Vorwärtsschritt

Nur bin ich mir nicht sicher, wie ich definieren kann, dass dem Roboter "klar wird", dass ein Vorwärtsschritt aus der World hinausführen würde. Ein Anfang den ich habe sieht so aus:
Java:

Java:
boolean notFinished = true;
while (notFinished) {
if (...)

In dieser if-Schleife würde dann die entsprechende Bedingung stehen.

Nun wollte ich fragen, ob jemand mir da eventuell unter die Arme greifen könnte, denn jeder Versuch, welchen ich starte, endet erfolglos. LG
 
Was für eine Library setzt du denn ein? In der Regel hat der Roboter eine Methode um zu prüfen, ob er vorwärts gehen kann. Danach einfach mal schauen.

Und dann wäre da eine einfache Schleife: so lange, wie 'vorne frei' ist, geht er vorwärts.
 
Java:
while (notFinished) {

  Koordinaten neueKoordinaten = geheVorwärts();

  if (Welt.istInWelt(neueKoordinaten)) {

    koordinaten = neueKoordinaten; // bzw. setzeKoordinaten( );

  } else {

    // Drehen oder Sonstiges...

  }

}
 

Zurück
Oben