Files
metro-puzzle-jp/resources/data/levels/003-shibuya.json
claude 915c684dc2
All checks were successful
release / build-release (push) Successful in 1m46s
M8: progression, items, bankarta och sparfil
- internal/progress: katalog (skills.json 12 noder, items.json 25 items)
  med validering; XP/nivåer (150·n(n+1)/2) och skillpoäng; skillträd med
  krav och kostnad; items per plats med buffar, genvägar (JR Pass, kartor,
  powerbank) och färgton; banresultat och upplåsning (huvudbanor i ordning,
  sidospår efter föräldern); 33 %-regeln som test
- internal/save: versionerad JSON med kunskap, plånbok, debuffar,
  progression och pågående bana + seed; atomisk skrivning; migrering;
  ~/.config/metro-puzzle-jp/save.json resp. %AppData%
- sim: RunOptions får Extra/FogRadius/Landmarks/FreeGates/RevealAll/
  InfiniteBattery; luck påverkar trängselzonen; Fog.RevealAll och extra
  landmärken
- game: bankarta i spelbrädesstil ersätter menyn (⟳ återupptar med sparad
  seed), skillträd (T), garderob (I), butik i kiosken (B), XP/nivå/items/
  upplåsningar på resultatet, spelaren tonas av skins; autospar vid banstart,
  efter banan och vid köp; flaggor -save/-nosave
- level: kind/order/parent/rewards/shop; ny sidobana 002b Kabukicho som
  belönar skinnet Kimono; 001 belönar Salaryman-skinnet; butikssortiment
  på 002/003
- tools/shots: demo-sparfil (build/, aldrig den riktiga), bilder av karta,
  skills, garderob och butik; alla körningar med -nosave
- docs/README/wiki uppdaterade

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-24 11:29:30 +02:00

129 lines
3.5 KiB
JSON

{
"id": "003-shibuya",
"kind": "main",
"order": 3,
"name": {
"en": "Shibuya Station",
"ja": "渋谷駅",
"sv": "Shibuya station"
},
"difficulty": 3,
"party": 4,
"ticketRequired": true,
"seatSelection": true,
"individualCards": true,
"rideStops": 5,
"destination": {
"en": "Ikebukuro",
"ja": "池袋",
"romaji": "Ikebukuro",
"sv": "Ikebukuro"
},
"timeLimitSec": 360,
"maxMissedTrains": 1,
"fareYen": 200,
"shop": [
"sun_hat",
"happi",
"geta",
"map_shibuya",
"powerbank",
"rail_pass"
],
"grid": [
"#################################",
"#S.........W#....i........#.....#",
"#.#####.#.###.###.#####.#.#.#####",
"#.#...#.#.....#...#.....#.#.....#",
"#.#.#.#.#######.###.#####.#.###.#",
"#.#.#.#.....#...#......i..#.#...#",
"#.#.#.#####.#.#.#.#####.#####.###",
"#...#.#...#...#.#.....#.#...#...#",
"#####.#.#.#####.#####.#.#.#.###.#",
"#T#...#.#...#K#.....#.#...#...#.#",
"#.#.###.###.#.#####.#.#######.#.#",
"#.#.#...#...#...#...#...#...#...#",
"#.#.#.#.#.#.#.###.#####.#.#.#####",
"#...#.#.#.#.#.....#...#...#..i..#",
"#.#####.#.#.#######.#.#######.#.#",
"#.....#.#.#.....#...#...#...#.#.#",
"#####.#.#.#####.#.#####.#.#.#.#.#",
"#...#...#.....#.#.#.#...#.#.#.#.#",
"#G#######.#####.#.#.#.###.#.#.#G#",
"#pG...............#.......#...GP#",
"#################################"
],
"trains": [
{
"correct": true,
"crowded": true,
"destination": {
"en": "Ikebukuro",
"ja": "池袋",
"romaji": "Ikebukuro"
},
"line": {
"en": "Yamanote Line",
"ja": "山手線",
"romaji": "Yamanote-sen"
},
"platform": "P",
"schedule": {
"dwellSec": 7,
"intervalSec": 25,
"offsetSec": 6
},
"track": "2"
},
{
"correct": false,
"destination": {
"en": "Yokohama",
"ja": "横浜",
"romaji": "Yokohama"
},
"line": {
"en": "Tokyu Toyoko Line",
"ja": "東急東横線",
"romaji": "Tokyu Toyoko-sen"
},
"platform": "p",
"schedule": {
"dwellSec": 8,
"intervalSec": 30,
"offsetSec": 12
},
"track": "4"
}
],
"signs": [
{
"text": {
"en": "Shibuya Station. Track 2 Yamanote Line for Ikebukuro: south-east. Track 4 Tokyu Toyoko Line for Yokohama: south-west. Tickets at the machine.",
"ja": "渋谷駅 2番線 山手線 池袋方面 → 南東 4番線 東急東横線 横浜方面 → 南西 切符 自動券売機",
"sv": "Shibuya station. Spår 2 Yamanote-linjen mot Ikebukuro: sydöst. Spår 4 Tokyu Toyoko-linjen mot Yokohama: sydväst. Biljetter i automaten."
},
"x": 17,
"y": 1
},
{
"text": {
"en": "<- Track 4 Tokyu Toyoko Line (Yokohama) Track 2 Yamanote Line (Ikebukuro) ->",
"ja": "← 4番線 東急東横線 横浜方面 2番線 山手線 池袋方面 →",
"sv": "<- Spår 4 Tokyu Toyoko-linjen (Yokohama) Spår 2 Yamanote-linjen (Ikebukuro) ->"
},
"x": 23,
"y": 5
},
{
"text": {
"en": "Track 2 Yamanote Line for Ikebukuro: the gate in the south-east corner. Everyone needs a ticket and card balance.",
"ja": "2番線 山手線 池袋方面 → 南東口 改札",
"sv": "Spår 2 Yamanote-linjen mot Ikebukuro: spärren i sydöstra hörnet. Alla behöver biljett och saldo på kortet."
},
"x": 29,
"y": 13
}
]
}