Files
metro-puzzle-jp/resources/data/levels/008-tokyo-hemresa.json
claude 46bd330dfc
All checks were successful
release / build-release (push) Successful in 1m38s
M10d: toaletter innanför och utanför spärrarna
Björns tillägg 2026-10-24. Generatorn har nu ett betalt område per perrong
(paidDepth) och toilets inside/outside/both: 005 Ueno och 008b Nippori har
toalett bara innanför, 007b Ueno på båda sidor. Perrongceller görs till
återvändsgränder (bara passagen mot starten behålls, labyrinten repareras)
och det betalda området krymper om det skulle bli genomfart; regeln att
varje perrong nås utan att passera ett annat betalt område testas i
level och levelcheck. level.PathOutside används av testbotar och shots.
Alla genererade banor utom 003 omgjorda, skärmdumpar omtagna.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-24 23:09:27 +02:00

215 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#....iGq#.#...#QG...........#P#",
"#################################"
],
"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,
"oneWayGates": true,
"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"
}
]
}