Hi, ich bin nicht wirklich gut im programmieren, wollte deshalb eure Hilfe..
Ich will ein Labyrinth Programmieren und das dann auch grafisch alles schön daarstellen..
Das er das Labyrinth aus einer Textdatei ausliest, es daarstellt, den Weg den er geht daarstellt, zeitverzögerung einstellen lässt... funktioniert alles prächtig -.-
Jetzt liegt es wirklich nur noch am Algorithmus den ich einfach nicht hinbekomme...
Hier mein Code ich hoffe ihr könnt mir helfen:
Alles anzeigen
lab[][] ist das Labyrinth: '#' bedeutet eine Mauer, '~' bedeutet ein begehbares Feld, 'A' und 'Z' sind Anfang und Ziel
Die Funktionen Green und White färben das jeweilige Feld in der Farbe.
Ich will ein Labyrinth Programmieren und das dann auch grafisch alles schön daarstellen..
Das er das Labyrinth aus einer Textdatei ausliest, es daarstellt, den Weg den er geht daarstellt, zeitverzögerung einstellen lässt... funktioniert alles prächtig -.-
Jetzt liegt es wirklich nur noch am Algorithmus den ich einfach nicht hinbekomme...
Hier mein Code ich hoffe ihr könnt mir helfen:
Quellcode
- void __fastcall TForm1::FindeWeg(int x, int y)
- {
- if (lab[x][y] == 'Z')
- {
- gefunden = true;
- }
- if (!gefunden && lab[x+1][y] != '#') {
- Green(x+1,y);
- FindeWeg(x+1,y);
- White(x+1,y);
- }
- if (!gefunden && lab[x][y+1] != '#') {
- Green(x,y+1);
- FindeWeg(x,y+1);
- White(x,y+1);
- }
- if (!gefunden && lab[x][y-1] != '#') {
- Green(x,y-1);
- FindeWeg(x,y-1);
- White(x,y-1);
- }
- else
- {
- }
- }
lab[][] ist das Labyrinth: '#' bedeutet eine Mauer, '~' bedeutet ein begehbares Feld, 'A' und 'Z' sind Anfang und Ziel
Die Funktionen Green und White färben das jeweilige Feld in der Farbe.