Der handgebaute Testraum ist weg; Etagen entstehen aus Daten. - game/rng.rs: xorshift64*, Seed im Game (Ticket 14) - game/generate.rs: freie Platzierung, Pflichtraeume zuerst, Kette i->i-1 fuer strukturelle Erreichbarkeit, acht Orientierungen - data/: [[prefabs]] und [[floors]] als neunte und zehnte Registry, Ladepruefungen fuer rechteckige Layouts und Pflichtraum-Flaeche - Descend plus Siegbedingung: keine [[floors]] mit der naechsten Nummer heisst gewonnen — die Zahl 5 steht nirgends im Code - GameOver-Screen, mitlaufender Bildausschnitt im Grid Befund: Korridore stanzten 2340 Loecher in gezeichnete Waende, weil sie AUF der Tuer starteten. Erst Schritt nach aussen, dann L-Form, sonst Wegsuche ueber den freien Raum — die kann eine Raumwand nicht beruehren. Der Test zaehlt jetzt null. 21 Tests.
96 lines
1.4 KiB
TOML
96 lines
1.4 KiB
TOML
# Handgezeichnete Raeume (Ticket 10). Marker stehen IM Block — der Sinn von
|
|
# ASCII ist, dass der Modder den Raum sieht.
|
|
#
|
|
# # Wand e Gegner-Platz > Treppe n NPC-Platz
|
|
# . Boden l Beute-Platz < Eingang
|
|
# + Tuer (Korridore duerfen nur hier andocken)
|
|
#
|
|
# Ein `e` sagt "hier steht ein Gegner", NICHT welcher — das entscheidet die
|
|
# Etage. Nur so laesst sich derselbe Raum auf Etage 1 und Etage 5 verwenden.
|
|
|
|
[[prefabs]]
|
|
id = "entrance_hall"
|
|
tags = ["core:entrance"]
|
|
layout = """
|
|
#####+#####
|
|
#.........#
|
|
#....<....#
|
|
#.........#
|
|
+.........+
|
|
#.........#
|
|
#####+#####
|
|
"""
|
|
|
|
[[prefabs]]
|
|
id = "stair_room"
|
|
tags = ["core:stairs"]
|
|
layout = """
|
|
#######
|
|
#.....#
|
|
#..>..#
|
|
+.....+
|
|
#..l..#
|
|
#######
|
|
"""
|
|
|
|
[[prefabs]]
|
|
id = "market"
|
|
tags = ["core:merchant"]
|
|
layout = """
|
|
####+####
|
|
#.......#
|
|
#...n...#
|
|
+.......+
|
|
#..l.l..#
|
|
####+####
|
|
"""
|
|
|
|
[[prefabs]]
|
|
id = "crossing"
|
|
tags = ["core:normal"]
|
|
layout = """
|
|
####+####
|
|
#.......#
|
|
#..e...e#
|
|
+.......+
|
|
#..l....#
|
|
#.......#
|
|
####+####
|
|
"""
|
|
|
|
[[prefabs]]
|
|
id = "pillars"
|
|
tags = ["core:normal"]
|
|
layout = """
|
|
#####+#####
|
|
#.........#
|
|
#.##...##.#
|
|
+.##.e.##.+
|
|
#.........#
|
|
#..l...l..#
|
|
#####+#####
|
|
"""
|
|
|
|
[[prefabs]]
|
|
id = "closet"
|
|
tags = ["core:normal"]
|
|
layout = """
|
|
#####
|
|
#...#
|
|
+.l.+
|
|
#.e.#
|
|
#####
|
|
"""
|
|
|
|
[[prefabs]]
|
|
id = "vault"
|
|
tags = ["core:treasure"]
|
|
layout = """
|
|
#######
|
|
#.....#
|
|
#.lll.#
|
|
+..e..#
|
|
#.....#
|
|
#######
|
|
"""
|