Files
metro-puzzle-jp/resources/data/levels/004-tokyo.json
claude f762f9554e
All checks were successful
release / build-release (push) Successful in 1m34s
M9: navigeringslägen, linjenät och terminal
internal/nav med resources/data/network.json (76 stationer, 11 linjer,
Yamanote som ringlinje). Tåg bedöms från lineId + terminus mot banans
station/to: rätt, fel håll, för långt bort (fler än 12 stationer) eller
ingen trafik; correct räknas ut för nätkopplade banor, 1-4 rätta tåg.
Tågresan visar linjens riktiga stationer. Nya förlustorsaker "Fel håll"
och "För långt bort". Listläge (nästa tåg nere till vänster) och
skyltläge (+50 % poäng) växlas med N på bankartan och sparas; -mode.
Terminalen: biljettautomaten visar linjetavlan på nätbanor. Perronger
P p Q q R r. Bana 006 Ikebukuro med fyra perronger. Banorna 001-005
kopplade till nätet. Skript: waitover och pick calm; poängraden
radbryts; skärmdumpar uppdaterade.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-24 13:07:36 +02:00

164 lines
4.7 KiB
JSON

{
"destination": {
"en": "Ueno",
"ja": "上野",
"romaji": "Ueno",
"sv": "Ueno"
},
"difficulty": 3,
"fareYen": 200,
"floors": [
{
"grid": [
"#################################",
"#S..#.......#.............#.....#",
"#.#.#.#####.###.#########.#####.#",
"#.#.#.#...#...#.#.....#...#...#.#",
"#.#.#.#.#.###.#.#.###.#.###.#.#.#",
"#.#...#.#...#.#.....#.#.....#...#",
"#.#####.#####.#######.#.#########",
"#.......#...#.#.....#.#.#.......#",
"#.#.#####.#.#.#.###.#.#.#.#####.#",
"#.#.#...#.#.#.#.#...#.#...#...#.#",
"#.#.#.#.#.#.#.#.#.###.###.#.#.#.#",
"#...#.#...#.#...#...#...#.#.#.#.#",
"###.#.#####.#######.###.#.#.#.#.#",
"#...#.....#.......#...#...#.#...#",
"#.#.#####.#.#########.#####.###.#",
"#.#.#...#.#.........#...#...#.#.#",
"#.###.#.#.#######.#.###.#.###.#.#",
"#.#...#...#.....#.#.......#...#.#",
"#.#.#########.#.#.#########.###.#",
"#.....U.......#.#...............#",
"#################################"
],
"name": "B1"
},
{
"grid": [
"#################################",
"#.......#.............#...#.....#",
"#.#####.#.#########.#.#.#.#.#.#.#",
"#..i..#.#.....#...#.#.#.#.#.#.#.#",
"###.#.#.#######.#.#.#.#.#.###.###",
"#...#.#.......#.#...#.#.#...#...#",
"#.###.#######.#.#####.#.#.#.###.#",
"#.........#T#.#.#K..#...#.#...#.#",
"#.#######.#.#.#.###.#####.###.#.#",
"#...#...#...#.#...#.........#..i#",
"#.#.#.#.###.#.###.#.###########.#",
"#W#...#...#.#.#...#.......#...#.#",
"#########.#.#.#.###.#####.#.#.#.#",
"#........i#.#...#.#.#...#...#...#",
"#.#######.#######.#.#.#.#########",
"#...#.....#.........#.#...#.....#",
"###.#.#.###.###########.#.#.###.#",
"#...#.#...#.....#.......#.#...#.#",
"#G###.###.#####.#.#.#####.###.#G#",
"#pG...D.#...........#.........#P#",
"#################################"
],
"name": "1F"
}
],
"id": "004-tokyo",
"kind": "main",
"maxMissedTrains": 2,
"name": {
"en": "Tokyo Station",
"ja": "東京駅",
"sv": "Tokyo station"
},
"order": 4,
"party": 3,
"rideStops": 4,
"shop": [
"beanie",
"mask_fox",
"hiking_boots",
"omamori",
"conductor_cap"
],
"signs": [
{
"text": {
"en": "Tokyo Station, floor 1F. You arrived on the Marunouchi Line underground (B1). Track 4 Yamanote Line for Ueno: south-east. Track 7 Tokaido Line for Shinagawa: south-west.",
"ja": "東京駅 1階 地下 丸ノ内線 ↓ 4番線 山手線 上野方面 → 南東 7番線 東海道線 品川方面 → 南西",
"sv": "Tokyo station, våning 1F. Du kom med Marunouchi-linjen under mark (B1). Spår 4 Yamanote-linjen mot Ueno: sydost. Spår 7 Tokaido-linjen mot Shinagawa: sydväst."
},
"x": 9,
"y": 13,
"z": 1
},
{
"text": {
"en": "<- Track 7 Tokaido Line (Shinagawa) Track 4 Yamanote Line (Ueno) ->",
"ja": "← 7番線 東海道線 品川方面 4番線 山手線 上野方面 →",
"sv": "<- Spår 7 Tokaido-linjen (Shinagawa) Spår 4 Yamanote-linjen (Ueno) ->"
},
"x": 3,
"y": 3,
"z": 1
},
{
"text": {
"en": "Track 4 Yamanote Line for Ueno: the gate in the south-east corner. The stairs down lead back to B1.",
"ja": "4番線 山手線 上野方面 → 南東口 改札 ↓ 地下",
"sv": "Spår 4 Yamanote-linjen mot Ueno: spärren i sydöstra hörnet. Trappan ner leder tillbaka till B1."
},
"x": 31,
"y": 9,
"z": 1
}
],
"ticketRequired": false,
"timeLimitSec": 420,
"trains": [
{
"crowded": true,
"destination": {
"en": "Ueno",
"ja": "上野",
"romaji": "Ueno"
},
"line": {
"en": "Yamanote Line",
"ja": "山手線",
"romaji": "Yamanote-sen"
},
"platform": "P",
"schedule": {
"dwellSec": 8,
"intervalSec": 24,
"offsetSec": 5
},
"track": "4",
"lineId": "yamanote",
"terminus": "ueno"
},
{
"destination": {
"en": "Shinagawa",
"ja": "品川",
"romaji": "Shinagawa"
},
"line": {
"en": "Tokaido Line",
"ja": "東海道線",
"romaji": "Tokaido-sen"
},
"platform": "p",
"schedule": {
"dwellSec": 8,
"intervalSec": 28,
"offsetSec": 11
},
"track": "7",
"lineId": "tokaido",
"terminus": "shinagawa"
}
],
"station": "tokyo",
"to": "ueno"
}