Als nächstes soll die Karte so gestaltet werden so das man im Norden aus der Karte heraus gehen kann und dann im Süden wieder in die Karte hineinläuft. Natürlich auch in Ost/West Richtung.
Eine gute Lösung ist es, die Felder der Karte auf eine Anzahl zu setzen, die der Wertigkeit der Stellen einer Binärzahl entspricht. (also 2,4,8,16,32,64,128 …)
Eine beliebige bei 0 beginnende Koordinate kann dann mittels AND Operator mit einem Wert verknüpft werden, dessen Binärzahl alle Bits die Zulässig sind auf 1 gesetzt hat. Dies ist der Dezimalwert der Felderanzahl -1. Bei einem 16 Felder großen Dungeon also eine 15 (16-1=15).
Nach der AND Verknüpfung springt der ungültige Koordinatenwert dann wieder in den gültigen Bereich. Bei einem 16 Felder Dungeon (Koordinate 0-15) geht es bei Koordinate 16 AND 15 wieder bei 0 los. Bei Koordinate -1 AND 15 bei 15. Hier ein Beispiel:
00010000 (Binärwert 16)
00001111 (Binärwert 15)
00000000 (Binärwert 0, Ergebnis nach AND Verknüpfung)
11111111 (Binärwert -1)
00001111 (Binärwert 15)
00001111 (Binärwert 15, Ergebnis nach AND Verknüpfung)
Auf die gleiche Weise kann man so auch die 4 Blickrichtungen rotieren lassen. Dazu muss diese natürlich auch als Zahlenwert vorliegen. Es ist also einiges umzubauen!
Der Umbau erstreckt sich über zwei Videos, hier ist der zweite Teil:
Viel Spaß!