Hallo,
Ich versuche einen Algorithmus zu schreiben der mir ein Labyrinth mit nur einem Lösungsweg und vielen Irrwegen generiert.
Als medium dachte ich an ein Boolean oder int[][].
Das heißt das Array könnte so aussehen, vereinfacht dargestellt (Die 0'llen sind der Weg, die 1en die Mauern):
11111111111111111111011111
11111110001111100000011111
11111111101111101111111111
11111111100000000000111111
11111111101111111110111111
11111111100011110000111111
11111111111011110111111111
11100000000011110000001111
11101111111111111111111111
11101111111111111111111111
Am Ende sollen jedoch ausschließlich Wege und keine schwarzen Flächen entstehen.
Also z.B. sowas:
Hat jemand Ideen wie man sowas effizient und elegant umsetzen kann?
Ich bin noch etwas ratlos wie ich ansetzen soll.
Den "Rahmen" des Labyrinths kann man noch recht leicht generieren mit einem Ausgang und einem Eingang, dem entsprechen
halt die Arrayfelder mit einsen und zwei nullen füllen.
Aber wie generiere ich Gänge die sich auch verzweigen und etwas sinn ergeben, und nicht nur random gesetzte wände?
Das zeichnen ist das kleinste Problem, das kann man dann mit SetPixel oder GDi+ usw regeln, das schwierige ist entsprechend die Arrays zu füllen
das sie komplexe Gänge die sich immer weiter verzweigen generieren.
Freue mich über Tipps/Anregungen, Vorschläge und Ideen :)
Farbe rot im Array durch grün ersetzt. ~fufu
Ich versuche einen Algorithmus zu schreiben der mir ein Labyrinth mit nur einem Lösungsweg und vielen Irrwegen generiert.
Als medium dachte ich an ein Boolean oder int[][].
Das heißt das Array könnte so aussehen, vereinfacht dargestellt (Die 0'llen sind der Weg, die 1en die Mauern):
11111111111111111111011111
11111110001111100000011111
11111111101111101111111111
11111111100000000000111111
11111111101111111110111111
11111111100011110000111111
11111111111011110111111111
11100000000011110000001111
11101111111111111111111111
11101111111111111111111111
Am Ende sollen jedoch ausschließlich Wege und keine schwarzen Flächen entstehen.
Also z.B. sowas:
Hat jemand Ideen wie man sowas effizient und elegant umsetzen kann?
Ich bin noch etwas ratlos wie ich ansetzen soll.
Den "Rahmen" des Labyrinths kann man noch recht leicht generieren mit einem Ausgang und einem Eingang, dem entsprechen
halt die Arrayfelder mit einsen und zwei nullen füllen.
Aber wie generiere ich Gänge die sich auch verzweigen und etwas sinn ergeben, und nicht nur random gesetzte wände?
Das zeichnen ist das kleinste Problem, das kann man dann mit SetPixel oder GDi+ usw regeln, das schwierige ist entsprechend die Arrays zu füllen
das sie komplexe Gänge die sich immer weiter verzweigen generieren.
Freue mich über Tipps/Anregungen, Vorschläge und Ideen :)
Farbe rot im Array durch grün ersetzt. ~fufu
C# Developer
Learning C++
Learning C++
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „fufu“ ()