Inlärning (framsteg, stjärnor, ordlista) och M4 lämmeltåget

2026-10-23 21:25:18 +02:00
parent 70643e18f7
commit 4ee03d2491

29
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 M3)
## Så fungerar spelet (läget efter M4)
**Menyn** listar banorna i `resources/data/levels/` med resmål. Pilar/WASD
väljer, Enter startar, Esc avslutar. Gamepad fungerar också.
@@ -56,6 +56,26 @@ läsningen efter kända ord. Kunskapen följer med mellan banorna.
![Nytt ord](/brasse/metro-puzzle-jp/raw/branch/master/doc/img/sign-learned.png)
**Fler sätt att lära sig ord.** Varje gång du stannar på en skylt eller
perrong har varje okänt ord en chans att ge ett framsteg ("Framsteg: 京成線
1/3"); vid tre framsteg kan du ordet. Klarar du en bana under par får du tre
stjärnor, och från två stjärnor lär du dig resmålets namn. Varje stjärna ger
en språkpoäng som du lägger på valfria ord i **ordlistan** (L): hela ordboken
sorterad på hur vanliga orden är, med kända ord, framsteg och kostnad.
![Ordlistan](/brasse/metro-puzzle-jp/raw/branch/master/doc/img/words.png)
**Lämmeltåget.** Dina polare följer efter dig i en rad. Var och en har
mätare för mat, dryck och toa (panelen uppe till höger). Mätarna sjunker
med tiden, och med jämna mellanrum händer något: någon måste på toa, blir
törstig, hungrig eller distraherad av en butik. Ju fler ni är, desto oftare.
Ett behov saktar ned hela sällskapet och visas över huvudet på den det
gäller. Toaletten (vit dörr, W) tar några sekunder per person; kiosken
(randig markis, K) kostar 150 yen per person från kortet. Händelserna är
slumpade från omgångens seed, så en sparad omgång ger samma händelser.
![Sällskapet på Shinjuku](/brasse/metro-puzzle-jp/raw/branch/master/doc/img/level-002.png)
**Spärrarna** (stolpar med grön lampa) släpper bara igenom dig om tågkortet
har saldo. Avgiften dras när du går in i spärren; HUD:en visar saldot. Alla
perronger ligger innanför spärrar – det är en regel som testerna
@@ -95,7 +115,7 @@ repot gör det. Nya vyer: lägg till i listan i `tools/shots/main.go`.
```
cmd/metro-puzzle-jp programstart, flaggor
internal/game Ebitengine: scener (meny → bana → resultat), rendering, input
internal/sim ren spellogik: rörelse, kollision, kamera, banomgång (tåg, spärrar, kort, hjälp)
internal/sim ren spellogik: rörelse, kollision, kamera, banomgång (tåg, spärrar, kort, hjälp, stjärnor), sällskap (mätare, händelser, följare)
internal/lang japanska: ordbok, tokenisering, kunskap, delvis översättning, engelska-andel
internal/level banformat (JSON), validering, BFS-lösbarhet
internal/res hittar resources/ (env → bredvid binären → uppåt från cwd)
@@ -127,6 +147,11 @@ resources/ sprites/ sound/ text/ data/ – skeppas bredvid binäre
heltalspositioner för skarpa pixlar.
- **Engelska på skyltar hashas från bana + position**, inte från seeden:
banorna är statiska och ska se likadana ut varje gång.
- **Följarna går på ledarens spår** (klassisk orm): ledarens senaste rutor
sparas och följare *i* står *i* rutor bakåt, interpolerade med ledarens
framsteg. Enkelt, deterministiskt och kolliderar aldrig.
- **Händelserna skalar med sällskapet** genom intervallet `45 s / antal`, så
att "fler i lämmeltåget = svårare" är en enda tydlig formel som testas.
- **Intern upplösning 320×180, 16 px-rutor**, heltalsskalning till fönstret.
- **All slump via seed.** Minispel och oändligt läge ska gå att återskapa
från sparfilen.