M9a: stationer i flera våningar med trappor
All checks were successful
release / build-release (push) Successful in 1m34s
All checks were successful
release / build-release (push) Successful in 1m34s
- level: Point har Z; banor kan ha floors (lika stora rutnät med namn), gamla grid-banor läses som en våning; trappor U/D på samma x,y en våning upp/ner valideras parvis; Neighbors ger grannar över våningar så att Path, lösbarhet, spärregel och Unreachable fungerar; skyltar har z - sim: att kliva på en trappa flyttar spelaren till andra änden (FloorChanges); dimman är per våning och avslöjar trappans andra ände; tåg hörs/syns bara på egen våning - game: bara spelarens våning ritas (följare på andra våningar döljs), HUD och minikarta visar våningens namn, trappgrafik i genart och färg på minikartan - bana 004 Tokyo (svårighet 3, tre i sällskapet): start under mark på B1, trappa upp till 1F med perronger; generatorn gör våningar med trappor som flaskhalsar; ordboken utökad - testbotar och tools/shots förstår trappor; två våningsbilder - docs/README/wiki uppdaterade Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -401,22 +401,32 @@ på **brasse-linux01-runnern** (label `linux-amd64`), aldrig på Pi5:n.
|
||||
- **Klar när:** sparfil round-trip-test grön; "< 33 %" kontrolleras mot
|
||||
itemlistan; skillkrav, upplåsningar och belöningar testade. ✓
|
||||
|
||||
### M9a – Flera våningar (Björns tillägg 2026-10-24)
|
||||
### M9a – Flera våningar ✓ (klar 2026-10-24)
|
||||
|
||||
- **Mål:** stationer i flera plan – ännu en svårighetsvariabel.
|
||||
- Banformatet får **flera rutnät** (`floors`), ett per våning, med
|
||||
**trappor** (och rulltrappor/hissar) som kopplar en ruta på en våning
|
||||
till en ruta på en annan. Start kan ligga på en trappa upp eller ner:
|
||||
under mark, ovan mark eller marknivå.
|
||||
- Kamera, dimma, minikarta (en flik per våning eller stapel) och BFS-vägar
|
||||
(`level.Path`, lösbarhetstestet, botarna) blir våningsmedvetna; skyltar
|
||||
kan peka "↑ 2F / ↓ B1".
|
||||
- **Teknik:** `level.Level.Floors []Grid` med `Stairs []Link`, `Point`
|
||||
får `Z`; `sim.Mover` byter våning vid trappa; `tools/genart` får
|
||||
trappruta; generatorn placerar trappor som flaskhalsar.
|
||||
- **Klar när:** en bana med två våningar går att klara av boten headless,
|
||||
minikartan visar rätt våning, och alla gamla banor fungerar oförändrat
|
||||
(en våning).
|
||||
- **Banformat:** `floors: [{name, grid}, …]` med lika stora rutnät; gamla
|
||||
banor med `grid` läses som en våning ("1F"). Rutkoordinaten `Point` fick
|
||||
`Z`. **Trappor** är rutor: `U` (upp) på en våning kräver `D` (ner) på
|
||||
samma x,y en våning upp och tvärtom (valideras). Går man in på en trappa
|
||||
hamnar man i andra änden i samma steg. Skyltar har `z`.
|
||||
- **Logik:** `Neighbors` ger grannarna inkl. trappans andra ände, så
|
||||
`Path`, lösbarhetstestet, spärregeln och `Unreachable` fungerar över
|
||||
våningar. Dimman är per våning och avslöjar trappans andra ände. Man
|
||||
ser/hör bara tågen på sin egen våning.
|
||||
- **Spel:** bara spelarens våning ritas (följare på andra våningar syns
|
||||
inte förrän de kommer upp), HUD och minikartan visar våningens namn,
|
||||
trappor har egen grafik och färg på minikartan.
|
||||
- **Bana 004 Tokyo** (svårighet 3, tre i sällskapet): start under mark på
|
||||
B1 (Marunouchi-linjen), trappan upp till 1F där perronger, spärrar,
|
||||
automat, kiosk och toalett finns. Generatorn gör våningar: labyrint per
|
||||
våning, trappor på gemensamma öppna rutor nära mitten, start på en våning
|
||||
och perronger på en annan.
|
||||
- **Teknik:** `level` (Storey, Point.Z, Neighbors, FloorAt), `sim.Run`
|
||||
(trappbyte, FloorChanges), `sim.Fog` 3D, spelet ritar per våning;
|
||||
testbotarna och `tools/shots` förstår trappor.
|
||||
- **Klar när:** en bana med två våningar går att klara av boten headless
|
||||
(`TestStairsMoveBetweenFloors`, `TestFloorsStairsAndPaths`), minikartan
|
||||
visar rätt våning, och alla gamla banor fungerar oförändrat (en våning). ✓
|
||||
|
||||
### M9b – Folk, reklam och ljudröra (Björns tillägg 2026-10-24)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user