M9a: flera våningar med trappor

2026-10-24 11:53:10 +02:00
parent ecbf79b80a
commit b99527e17a

17
Home.md

@@ -16,7 +16,7 @@ till rätt resmål.
| [`doc/roadmap.md`](../src/branch/master/doc/roadmap.md) | Teknikval, katalogstruktur, milstolpar M0–M12 |
| [`doc/mal-och-tester.md`](../src/branch/master/doc/mal-och-tester.md) | Projektmål, teststrategi, checklistor |
## Så fungerar spelet (läget efter M8)
## Så fungerar spelet (läget efter M9a)
**Bankartan** är ett spelbräde: huvudbanorna på en linje från flygplatsen,
sidospåren som avstickare ovanför. Låsta banor är grå, klarade visar sina
@@ -174,6 +174,16 @@ omgång – det är meningen.
![Garderoben](/brasse/metro-puzzle-jp/raw/branch/master/doc/img/items.png)
**Flera våningar.** Stationer kan ha flera plan. Du ser bara våningen du
står på; trappor (`U`/`D` i bandatan, egen grafik) tar dig upp och ner –
du kliver på trappan och står i andra änden en våning upp eller ner. HUD
och minikarta visar våningens namn (B1, 1F …), och minikartan ritar bara
den våning du är på. Tokyo station (bana 004) börjar under mark.
![Tokyo station, B1](/brasse/metro-puzzle-jp/raw/branch/master/doc/img/floors-b1.png)
![Tokyo station, 1F](/brasse/metro-puzzle-jp/raw/branch/master/doc/img/floors-1f.png)
**Sparfilen** ligger i `~/.config/metro-puzzle-jp/save.json` (Linux) eller
`%AppData%\metro-puzzle-jp\` (Windows) och sparas automatiskt vid banstart
(med seeden), efter varje bana och vid köp. Den har ett versionsfält så att
@@ -247,6 +257,11 @@ resources/ sprites/ sound/ text/ data/ – skeppas bredvid binäre
gemensamt gränssnitt (Update/Done/Success) och all slump från del-seeds.
Därför kan hela bana 002 – fel biljett, rätt biljett, spärr, trängsel,
resa – spelas igenom i ett vanligt `go test`.
- **Våningar är en koordinat, inte en ny värld.** `Point` fick `Z`, varje
våning är ett eget rutnät av samma storlek och trappor är rutor som pekar
på samma x,y en våning upp/ner. Grannfunktionen inkluderar trappans andra
ände, så vägsökning, lösbarhetstest, spärregel och dimma fungerar över
våningar utan specialfall – och alla gamla banor är bara "en våning".
- **Progressionen är data.** Skills och items är JSON-rader med en
`effect` som antingen multiplicerar en stat eller sätter en flagga; samma
tabell gäller debuffar åt andra hållet. Nya items/skills = nya rader, inga