Hilfe für Schulprojekt

  • Themenstarter Themenstarter longdingdong
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
L

longdingdong

Gast
Hihi
Ich muss im Informatikunterricht ein Java Programm erstellen. Das Programm soll aus einem Kreis bestehen, der durch ein Labyrint läuft. Jedes mal wenn der Kreis an eine Abzwigung kommt soll er einen andereren Weg nehmen (irgend wie mit randome). Da ich leider nicht so viel Ahnung von Java habe weiß ich nicht was bzw. wie ich das machen soll. Ich wäre euch sehr verbunden wenn ihr mir ein paar Tipps geben könnt.

vielen Dank im Voraus!
 
Naja, die grundsätzliche Frage ist:

Soll das ganze richtig grafisch per Swing gelöst werden, oder reicht eine "pseudo-grafische" Ausgabe ? Soll die Bewegungsentscheidung irgendwie sinnvoll sein, oder einfach eine total zufällige Entscheidung ?
 
Es würde eine ganz einfache "pseudo-grafische" Ausgabe reichen und das soll per Zufallentscheidung ablaufen.
 
Dann würde ich zur Lösung ein 2dimensionales Array von booleans vorschlagen, das kannst Du dann zufällig mit "Wänden" (true) füllen.

Der Kreis prüft dann von seiner aktuellen x,y Position einfach, ob bei
x,y + 1
x,y -1
x+1,y
x-1,y
eine Wand ist, falls nicht, ist das eine mögliche neue Richtung, die Du dann mit ner geeigneten Math.random Funktion auswählen kannst.

Soweit mal mein spontaner Lösungsansatz.
 
der ansatz entspricht aber nicht ganz der aufgabe, eldaron. in deinem falle, kann der kreis nach jedem zug die richtung ändern. er soll aber die richtung beibehalten, solange keine wand vor ihm ist.
würde also eher methoden á la geheZurNächstenWand() und dreheDich() implementieren..
 
So, wie ers geschrieben hat, soll er wenn eine Abzweigung auftaucht auch ändern können, war ja auch nur der grobe Lösungsansatz. 😉

Bsp:

* *
O
***

hier sollte er auch abbiegen dürfen, wenn er von links kommt 😉
 
Was heißt in dem zusammenhang zufällige richtungs entscheidung? Soll die wirlich zufällig sein, weil um einen Weg durch ein Labyrint zu finden ist es doch Sinnvoller so lange eine Richtung zu gehen wie es geht und dann die anderen richtungen mit System abzuprüfen. Dann kann man ganz gut rekursiv lösen. Ist dann auch nicht so viel Quellcode...
Bei der Möglichkeit immer Zufällig zu wählen wo der Kreis lang geht könnte es ja auch sein das man nie mals einen Weg findet obwohl es einen gibt. Das sollte man auch beachten.
Gruß A.T.
 
Danke für eure Antworten. Ja der soll wirklich zufällig sein, egal ob der Weg gefunden wird oder nicht unser Lehrer will das so haben, ka. warum.
 
zu Eldarons Variante: musst aufpassen das du das so schreibst das er sich nicht um drehst, wenn er in nem einfachen Gang ist:
*******
O
*******
Sonst könnte er sich auch hier belibig oft umdrehen und in die gegenrichting rennen. 😉
 
Japp, ich würde "umdrehen" nur nehmen, wenn eine Auswahl aus 0 Möglichkeiten vorwärts gegeben ist (dazu kommt sinnvollerweise, dass man sich merkt, aus welchem Feld man sich auf das aktuelle Feld bewegt hat).
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben