- Go 1.27 + Ebitengine v2.10, intern upplösning 320x180 med heltalsskalning - internal/res (resursuppslag), internal/rng (seedad slump), internal/level (banformat, validering, BFS-lösbarhet) med tester; internal/archtest kontrollerar att bara presentationslagret beror på Ebitengine - tools/build: debug -> build/debug/, release -> build/release/<os>-<arch>/ med resources/ bredvid binären; Windows korsbyggs utan C-verktyg - VS Code tasks (build/test/release) och launch (dlv) - Första banan 001-flygplatsen, sv/en-texter, skyltordbok, placeholder-sprite - doc/: spelbeskrivning (renskriven), mål och tester, roadmap med teknikval (M0–M12), plan.md; README med bygg- och beroendeinformation Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
23 lines
712 B
Markdown
23 lines
712 B
Markdown
# resources/data – speldata
|
||
|
||
Banor, items, skills och annan data som spelet läser vid start. Allt är JSON.
|
||
|
||
- `levels/<id>.json` – en bana per fil. `id` i filen **måste** vara lika med
|
||
filnamnet utan `.json`. Testet `internal/level.TestAllShippedLevels` kör
|
||
igenom alla banor här och faller om någon inte parsar eller inte går att klara.
|
||
|
||
## Rutnätets tecken
|
||
|
||
| Tecken | Betydelse |
|
||
|--------|-----------|
|
||
| `#` | vägg |
|
||
| `.` | golv |
|
||
| `S` | start (exakt en) |
|
||
| `P` | perrong med tåg |
|
||
| `p` | perrong med fel tåg |
|
||
| `G` | spärr (kräver kort/biljett) |
|
||
| `T` | biljett-/påfyllningsautomat |
|
||
| `i` | skylt |
|
||
|
||
Varje rad måste vara lika lång. Se `internal/level/level.go` för formatet.
|