Files
metro-puzzle-jp/resources/data/levels/008-tokyo-hemresa.json
claude 4ae6a1d24c
All checks were successful
release / build-release (push) Successful in 1m37s
M10: byten, hemresan och levelcheck
Resor med byten: en bana kan ha next som pekar på en delbana (kind leg,
syns inte på bankartan). När man klivit av rätt tåg fortsätter samma
omgång på nästa station med klocka, plånbok, sällskap och räknare;
par-tiden adderas, dimma och folk är nya, en Byte!-banner visas och
HUD:en visar resmålet via bytesstationen. Tidsgräns och missade tåg
gäller hela resan. level.ValidateChains kräver sammanhängande kedjor.
Nya resor: 007 Akihabara -> Ueno -> Asakusa och finalen 008 Tokyo (två
våningar) -> Nippori -> Narita flygplats. Slutscen när sista huvudbanan
klaras första gången: planet lyfter, resan summeras, eftertexter;
Progress.StoryCleared sparas; flaggan -ending. tools/levelcheck ritar
banorna och rapporterar problem. HUD-nivån kortas när mätarna tar plats;
poängraden radbryts. Skärmdumpar och docs uppdaterade.

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

214 lines
5.8 KiB
JSON

{
"clutter": 2,
"crowd": 2,
"destination": {
"en": "Nippori",
"ja": "日暮里",
"romaji": "Nippori",
"sv": "Nippori"
},
"difficulty": 5,
"fareYen": 200,
"floors": [
{
"grid": [
"#################################",
"#S#.........#...........#.......#",
"#.#.#.###.#.#.#########.#.#####.#",
"#.#.#.#.#.#.#.#.#...#...#.....#.#",
"#.#.#.#.#.###.#.#.#.#.#####.###.#",
"#.#.....#.....#...#.#.......#...#",
"#.#####.###########.#########.###",
"#.....#...#.......#.....#...#...#",
"#####.###.###.###.#####.#.#.###.#",
"#...#.#.........#.......#.#.#...#",
"###.#.#########.#######.#.#.#.###",
"#...#...#......U#.......#.#.#...#",
"#.#####.#.#######.#######.#.###.#",
"#...#...#.........#.......#...#.#",
"###.#.#############.#########.#.#",
"#...#.#...#.........#...#.....#.#",
"#.###.#.#.#.###.#####.#.#.#####.#",
"#...#...#...#...#.....#.#...#...#",
"#.#.#########.###.#.#######.#.#.#",
"#.#...............#.............#",
"#################################"
],
"name": "B1"
},
{
"grid": [
"#################################",
"#T#..................K#.........#",
"#.#.#######.#####.#####.###.###.#",
"#.#.............#.....#.#...#.#.#",
"#.#####.#######.###.#.#.#.###.#.#",
"#.#.....#.....#.....#...#.#...#.#",
"#.#.#####.###.#.#########.#.###.#",
"#...#.....#...#.#.......#.#.....#",
"#.###.#####.###.###.###.#.#####.#",
"#...#.#..W#...#...#...#.........#",
"###.#.#.#####.###.#.#.#####.#.###",
"#.....#i....#..D#.#.#.#...#.#...#",
"#.#####.###.###.#.###.#.#.#####.#",
"#.......#.#.....#.#...#.#.#.....#",
"#.#######.#######.#.###.#.#.###.#",
"#.....#..........i..#...#...#...#",
"#####.###.###########.#######.###",
"#...#...#.#...........#.....#...#",
"#G#.###.###.###########.#######G#",
"#p#....iGqG.#...GQG...........GP#",
"#################################"
],
"name": "1F"
}
],
"id": "008-tokyo-hemresa",
"individualCards": true,
"kind": "main",
"maxMissedTrains": 3,
"name": {
"en": "Tokyo Station, going home",
"ja": "東京駅",
"sv": "Tokyo station, hemresan"
},
"next": "008b-nippori",
"noise": 2,
"order": 8,
"party": 4,
"rewards": {
"skillPoints": 2
},
"rideStops": 4,
"shop": [
"suit",
"mask_tengu",
"onigiri_box",
"rail_pass"
],
"signs": [
{
"text": {
"en": "Tokyo Station. Track 4 Yamanote Line for Ueno: south-east. Track 3 Keihin-Tohoku Line for Omiya: south. Track 1 Chuo Line for Takao and track 5 Yamanote Line for Shinagawa: south-west. The platforms are on 1F.",
"ja": "東京駅 4番線 山手線 上野方面 → 南東 3番線 京浜東北線 大宮方面 → 南 1番線 中央線 高尾方面・5番線 山手線 品川方面 → 南西",
"sv": "Tokyo station. Spår 4 Yamanote-linjen mot Ueno: sydost. Spår 3 Keihin-Tohoku-linjen mot Omiya: söderut. Spår 1 Chuo-linjen mot Takao och spår 5 Yamanote-linjen mot Shinagawa: sydväst. Perrongerna ligger på 1F."
},
"x": 7,
"y": 11,
"z": 1
},
{
"text": {
"en": "\u003c- Track 5 Yamanote Line for Shinagawa Track 4 Yamanote Line for Ueno -\u003e",
"ja": "← 5番線 山手線 品川方面 4番線 山手線 上野方面 →",
"sv": "\u003c- Spår 5 Yamanote-linjen mot Shinagawa Spår 4 Yamanote-linjen mot Ueno -\u003e"
},
"x": 7,
"y": 19,
"z": 1
},
{
"text": {
"en": "Nippori: transfer to the Keisei Line for Narita Airport.",
"ja": "日暮里 → 乗り換え 京成本線 成田空港方面",
"sv": "Nippori: byte till Keisei-linjen mot Narita flygplats."
},
"x": 17,
"y": 15,
"z": 1
}
],
"station": "tokyo",
"timeLimitSec": 720,
"to": "nippori",
"trains": [
{
"cars": 4,
"destination": {
"en": "Ueno",
"ja": "上野",
"romaji": "Ueno"
},
"line": {
"en": "Yamanote Line",
"ja": "山手線",
"romaji": "Yamanote-sen"
},
"lineId": "yamanote",
"platform": "P",
"schedule": {
"dwellSec": 9,
"intervalSec": 30,
"offsetSec": 10
},
"terminus": "ueno",
"track": "4"
},
{
"cars": 4,
"destination": {
"en": "Shinagawa",
"ja": "品川",
"romaji": "Shinagawa"
},
"line": {
"en": "Yamanote Line",
"ja": "山手線",
"romaji": "Yamanote-sen"
},
"lineId": "yamanote",
"platform": "p",
"schedule": {
"dwellSec": 8,
"intervalSec": 30,
"offsetSec": 20
},
"terminus": "shinagawa",
"track": "5"
},
{
"cars": 4,
"destination": {
"en": "Omiya",
"ja": "大宮",
"romaji": "Omiya"
},
"line": {
"en": "Keihin-Tohoku Line",
"ja": "京浜東北線",
"romaji": "Keihin-Tohoku-sen"
},
"lineId": "keihin-tohoku",
"platform": "Q",
"schedule": {
"dwellSec": 9,
"intervalSec": 34,
"offsetSec": 4
},
"terminus": "omiya",
"track": "3"
},
{
"cars": 3,
"destination": {
"en": "Takao",
"ja": "高尾",
"romaji": "Takao"
},
"line": {
"en": "Chuo Line",
"ja": "中央線",
"romaji": "Chuo-sen"
},
"lineId": "chuo",
"platform": "q",
"schedule": {
"dwellSec": 8,
"intervalSec": 28,
"offsetSec": 14
},
"terminus": "takao",
"track": "1"
}
]
}