Files
metro-puzzle-jp/resources/data/network.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

1009 lines
17 KiB
JSON

{
"_comment": "Linjenätet för navigeringen (internal/nav): stationer med namn och linjer i stationsordning. loop = ringlinje. Banorna pekar hit med station/to/lineId/terminus; då räknas rätt/fel tåg ut härifrån.",
"stations": [
{
"id": "tokyo",
"name": {
"ja": "東京",
"kana": "とうきょう",
"romaji": "Tokyo",
"en": "Tokyo",
"sv": "Tokyo"
}
},
{
"id": "kanda",
"name": {
"ja": "神田",
"kana": "かんだ",
"romaji": "Kanda",
"en": "Kanda",
"sv": "Kanda"
}
},
{
"id": "akihabara",
"name": {
"ja": "秋葉原",
"kana": "あきはばら",
"romaji": "Akihabara",
"en": "Akihabara",
"sv": "Akihabara"
}
},
{
"id": "okachimachi",
"name": {
"ja": "御徒町",
"kana": "おかちまち",
"romaji": "Okachimachi",
"en": "Okachimachi",
"sv": "Okachimachi"
}
},
{
"id": "ueno",
"name": {
"ja": "上野",
"kana": "うえの",
"romaji": "Ueno",
"en": "Ueno",
"sv": "Ueno"
}
},
{
"id": "uguisudani",
"name": {
"ja": "鶯谷",
"kana": "うぐいすだに",
"romaji": "Uguisudani",
"en": "Uguisudani",
"sv": "Uguisudani"
}
},
{
"id": "nippori",
"name": {
"ja": "日暮里",
"kana": "にっぽり",
"romaji": "Nippori",
"en": "Nippori",
"sv": "Nippori"
}
},
{
"id": "nishi-nippori",
"name": {
"ja": "西日暮里",
"kana": "にしにっぽり",
"romaji": "Nishi-Nippori",
"en": "Nishi-Nippori",
"sv": "Nishi-Nippori"
}
},
{
"id": "tabata",
"name": {
"ja": "田端",
"kana": "たばた",
"romaji": "Tabata",
"en": "Tabata",
"sv": "Tabata"
}
},
{
"id": "komagome",
"name": {
"ja": "駒込",
"kana": "こまごめ",
"romaji": "Komagome",
"en": "Komagome",
"sv": "Komagome"
}
},
{
"id": "sugamo",
"name": {
"ja": "巣鴨",
"kana": "すがも",
"romaji": "Sugamo",
"en": "Sugamo",
"sv": "Sugamo"
}
},
{
"id": "otsuka",
"name": {
"ja": "大塚",
"kana": "おおつか",
"romaji": "Otsuka",
"en": "Otsuka",
"sv": "Otsuka"
}
},
{
"id": "ikebukuro",
"name": {
"ja": "池袋",
"kana": "いけぶくろ",
"romaji": "Ikebukuro",
"en": "Ikebukuro",
"sv": "Ikebukuro"
}
},
{
"id": "mejiro",
"name": {
"ja": "目白",
"kana": "めじろ",
"romaji": "Mejiro",
"en": "Mejiro",
"sv": "Mejiro"
}
},
{
"id": "takadanobaba",
"name": {
"ja": "高田馬場",
"kana": "たかだのばば",
"romaji": "Takadanobaba",
"en": "Takadanobaba",
"sv": "Takadanobaba"
}
},
{
"id": "shin-okubo",
"name": {
"ja": "新大久保",
"kana": "しんおおくぼ",
"romaji": "Shin-Okubo",
"en": "Shin-Okubo",
"sv": "Shin-Okubo"
}
},
{
"id": "shinjuku",
"name": {
"ja": "新宿",
"kana": "しんじゅく",
"romaji": "Shinjuku",
"en": "Shinjuku",
"sv": "Shinjuku"
}
},
{
"id": "yoyogi",
"name": {
"ja": "代々木",
"kana": "よよぎ",
"romaji": "Yoyogi",
"en": "Yoyogi",
"sv": "Yoyogi"
}
},
{
"id": "harajuku",
"name": {
"ja": "原宿",
"kana": "はらじゅく",
"romaji": "Harajuku",
"en": "Harajuku",
"sv": "Harajuku"
}
},
{
"id": "shibuya",
"name": {
"ja": "渋谷",
"kana": "しぶや",
"romaji": "Shibuya",
"en": "Shibuya",
"sv": "Shibuya"
}
},
{
"id": "ebisu",
"name": {
"ja": "恵比寿",
"kana": "えびす",
"romaji": "Ebisu",
"en": "Ebisu",
"sv": "Ebisu"
}
},
{
"id": "meguro",
"name": {
"ja": "目黒",
"kana": "めぐろ",
"romaji": "Meguro",
"en": "Meguro",
"sv": "Meguro"
}
},
{
"id": "gotanda",
"name": {
"ja": "五反田",
"kana": "ごたんだ",
"romaji": "Gotanda",
"en": "Gotanda",
"sv": "Gotanda"
}
},
{
"id": "osaki",
"name": {
"ja": "大崎",
"kana": "おおさき",
"romaji": "Osaki",
"en": "Osaki",
"sv": "Osaki"
}
},
{
"id": "shinagawa",
"name": {
"ja": "品川",
"kana": "しながわ",
"romaji": "Shinagawa",
"en": "Shinagawa",
"sv": "Shinagawa"
}
},
{
"id": "takanawa-gateway",
"name": {
"ja": "高輪ゲートウェイ",
"kana": "たかなわげーとうぇい",
"romaji": "Takanawa Gateway",
"en": "Takanawa Gateway",
"sv": "Takanawa Gateway"
}
},
{
"id": "tamachi",
"name": {
"ja": "田町",
"kana": "たまち",
"romaji": "Tamachi",
"en": "Tamachi",
"sv": "Tamachi"
}
},
{
"id": "hamamatsucho",
"name": {
"ja": "浜松町",
"kana": "はままつちょう",
"romaji": "Hamamatsucho",
"en": "Hamamatsucho",
"sv": "Hamamatsucho"
}
},
{
"id": "shimbashi",
"name": {
"ja": "新橋",
"kana": "しんばし",
"romaji": "Shimbashi",
"en": "Shimbashi",
"sv": "Shimbashi"
}
},
{
"id": "yurakucho",
"name": {
"ja": "有楽町",
"kana": "ゆうらくちょう",
"romaji": "Yurakucho",
"en": "Yurakucho",
"sv": "Yurakucho"
}
},
{
"id": "ochanomizu",
"name": {
"ja": "御茶ノ水",
"kana": "おちゃのみず",
"romaji": "Ochanomizu",
"en": "Ochanomizu",
"sv": "Ochanomizu"
}
},
{
"id": "yotsuya",
"name": {
"ja": "四ツ谷",
"kana": "よつや",
"romaji": "Yotsuya",
"en": "Yotsuya",
"sv": "Yotsuya"
}
},
{
"id": "nakano",
"name": {
"ja": "中野",
"kana": "なかの",
"romaji": "Nakano",
"en": "Nakano",
"sv": "Nakano"
}
},
{
"id": "kichijoji",
"name": {
"ja": "吉祥寺",
"kana": "きちじょうじ",
"romaji": "Kichijoji",
"en": "Kichijoji",
"sv": "Kichijoji"
}
},
{
"id": "mitaka",
"name": {
"ja": "三鷹",
"kana": "みたか",
"romaji": "Mitaka",
"en": "Mitaka",
"sv": "Mitaka"
}
},
{
"id": "tachikawa",
"name": {
"ja": "立川",
"kana": "たちかわ",
"romaji": "Tachikawa",
"en": "Tachikawa",
"sv": "Tachikawa"
}
},
{
"id": "hachioji",
"name": {
"ja": "八王子",
"kana": "はちおうじ",
"romaji": "Hachioji",
"en": "Hachioji",
"sv": "Hachioji"
}
},
{
"id": "takao",
"name": {
"ja": "高尾",
"kana": "たかお",
"romaji": "Takao",
"en": "Takao",
"sv": "Takao"
}
},
{
"id": "omiya",
"name": {
"ja": "大宮",
"kana": "おおみや",
"romaji": "Omiya",
"en": "Omiya",
"sv": "Omiya"
}
},
{
"id": "urawa",
"name": {
"ja": "浦和",
"kana": "うらわ",
"romaji": "Urawa",
"en": "Urawa",
"sv": "Urawa"
}
},
{
"id": "akabane",
"name": {
"ja": "赤羽",
"kana": "あかばね",
"romaji": "Akabane",
"en": "Akabane",
"sv": "Akabane"
}
},
{
"id": "oji",
"name": {
"ja": "王子",
"kana": "おうじ",
"romaji": "Oji",
"en": "Oji",
"sv": "Oji"
}
},
{
"id": "kawasaki",
"name": {
"ja": "川崎",
"kana": "かわさき",
"romaji": "Kawasaki",
"en": "Kawasaki",
"sv": "Kawasaki"
}
},
{
"id": "yokohama",
"name": {
"ja": "横浜",
"kana": "よこはま",
"romaji": "Yokohama",
"en": "Yokohama",
"sv": "Yokohama"
}
},
{
"id": "ofuna",
"name": {
"ja": "大船",
"kana": "おおふな",
"romaji": "Ofuna",
"en": "Ofuna",
"sv": "Ofuna"
}
},
{
"id": "narita-airport",
"name": {
"ja": "成田空港",
"kana": "なりたくうこう",
"romaji": "Narita Airport",
"en": "Narita Airport",
"sv": "Narita Airport"
}
},
{
"id": "airport-terminal-2",
"name": {
"ja": "空港第2ビル",
"kana": "くうこうだいにびる",
"romaji": "Airport Terminal 2",
"en": "Airport Terminal 2",
"sv": "Airport Terminal 2"
}
},
{
"id": "narita",
"name": {
"ja": "成田",
"kana": "なりた",
"romaji": "Narita",
"en": "Narita",
"sv": "Narita"
}
},
{
"id": "funabashi",
"name": {
"ja": "船橋",
"kana": "ふなばし",
"romaji": "Funabashi",
"en": "Funabashi",
"sv": "Funabashi"
}
},
{
"id": "aoto",
"name": {
"ja": "青砥",
"kana": "あおと",
"romaji": "Aoto",
"en": "Aoto",
"sv": "Aoto"
}
},
{
"id": "keisei-ueno",
"name": {
"ja": "京成上野",
"kana": "けいせいうえの",
"romaji": "Keisei-Ueno",
"en": "Keisei-Ueno",
"sv": "Keisei-Ueno"
}
},
{
"id": "jujo",
"name": {
"ja": "十条",
"kana": "じゅうじょう",
"romaji": "Jujo",
"en": "Jujo",
"sv": "Jujo"
}
},
{
"id": "itabashi",
"name": {
"ja": "板橋",
"kana": "いたばし",
"romaji": "Itabashi",
"en": "Itabashi",
"sv": "Itabashi"
}
},
{
"id": "ogikubo",
"name": {
"ja": "荻窪",
"kana": "おぎくぼ",
"romaji": "Ogikubo",
"en": "Ogikubo",
"sv": "Ogikubo"
}
},
{
"id": "shinjuku-sanchome",
"name": {
"ja": "新宿三丁目",
"kana": "しんじゅくさんちょうめ",
"romaji": "Shinjuku-sanchome",
"en": "Shinjuku-sanchome",
"sv": "Shinjuku-sanchome"
}
},
{
"id": "shinjuku-gyoemmae",
"name": {
"ja": "新宿御苑前",
"kana": "しんじゅくぎょえんまえ",
"romaji": "Shinjuku-gyoemmae",
"en": "Shinjuku-gyoemmae",
"sv": "Shinjuku-gyoemmae"
}
},
{
"id": "yotsuya-sanchome",
"name": {
"ja": "四谷三丁目",
"kana": "よつやさんちょうめ",
"romaji": "Yotsuya-sanchome",
"en": "Yotsuya-sanchome",
"sv": "Yotsuya-sanchome"
}
},
{
"id": "akasaka-mitsuke",
"name": {
"ja": "赤坂見附",
"kana": "あかさかみつけ",
"romaji": "Akasaka-mitsuke",
"en": "Akasaka-mitsuke",
"sv": "Akasaka-mitsuke"
}
},
{
"id": "kokkai-gijidomae",
"name": {
"ja": "国会議事堂前",
"kana": "こっかいぎじどうまえ",
"romaji": "Kokkai-gijidomae",
"en": "Kokkai-gijidomae",
"sv": "Kokkai-gijidomae"
}
},
{
"id": "kasumigaseki",
"name": {
"ja": "霞ケ関",
"kana": "かすみがせき",
"romaji": "Kasumigaseki",
"en": "Kasumigaseki",
"sv": "Kasumigaseki"
}
},
{
"id": "ginza",
"name": {
"ja": "銀座",
"kana": "ぎんざ",
"romaji": "Ginza",
"en": "Ginza",
"sv": "Ginza"
}
},
{
"id": "otemachi",
"name": {
"ja": "大手町",
"kana": "おおてまち",
"romaji": "Otemachi",
"en": "Otemachi",
"sv": "Otemachi"
}
},
{
"id": "awajicho",
"name": {
"ja": "淡路町",
"kana": "あわじちょう",
"romaji": "Awajicho",
"en": "Awajicho",
"sv": "Awajicho"
}
},
{
"id": "hongo-sanchome",
"name": {
"ja": "本郷三丁目",
"kana": "ほんごうさんちょうめ",
"romaji": "Hongo-sanchome",
"en": "Hongo-sanchome",
"sv": "Hongo-sanchome"
}
},
{
"id": "korakuen",
"name": {
"ja": "後楽園",
"kana": "こうらくえん",
"romaji": "Korakuen",
"en": "Korakuen",
"sv": "Korakuen"
}
},
{
"id": "myogadani",
"name": {
"ja": "茗荷谷",
"kana": "みょうがだに",
"romaji": "Myogadani",
"en": "Myogadani",
"sv": "Myogadani"
}
},
{
"id": "shin-otsuka",
"name": {
"ja": "新大塚",
"kana": "しんおおつか",
"romaji": "Shin-Otsuka",
"en": "Shin-Otsuka",
"sv": "Shin-Otsuka"
}
},
{
"id": "naka-meguro",
"name": {
"ja": "中目黒",
"kana": "なかめぐろ",
"romaji": "Naka-Meguro",
"en": "Naka-Meguro",
"sv": "Naka-Meguro"
}
},
{
"id": "roppongi",
"name": {
"ja": "六本木",
"kana": "ろっぽんぎ",
"romaji": "Roppongi",
"en": "Roppongi",
"sv": "Roppongi"
}
},
{
"id": "kita-senju",
"name": {
"ja": "北千住",
"kana": "きたせんじゅ",
"romaji": "Kita-Senju",
"en": "Kita-Senju",
"sv": "Kita-Senju"
}
},
{
"id": "omotesando",
"name": {
"ja": "表参道",
"kana": "おもてさんどう",
"romaji": "Omotesando",
"en": "Omotesando",
"sv": "Omotesando"
}
},
{
"id": "nihombashi",
"name": {
"ja": "日本橋",
"kana": "にほんばし",
"romaji": "Nihombashi",
"en": "Nihombashi",
"sv": "Nihombashi"
}
},
{
"id": "asakusa",
"name": {
"ja": "浅草",
"kana": "あさくさ",
"romaji": "Asakusa",
"en": "Asakusa",
"sv": "Asakusa"
}
},
{
"id": "jiyugaoka",
"name": {
"ja": "自由が丘",
"kana": "じゆうがおか",
"romaji": "Jiyugaoka",
"en": "Jiyugaoka",
"sv": "Jiyugaoka"
}
},
{
"id": "musashi-kosugi",
"name": {
"ja": "武蔵小杉",
"kana": "むさしこすぎ",
"romaji": "Musashi-Kosugi",
"en": "Musashi-Kosugi",
"sv": "Musashi-Kosugi"
}
},
{
"id": "kikuna",
"name": {
"ja": "菊名",
"kana": "きくな",
"romaji": "Kikuna",
"en": "Kikuna",
"sv": "Kikuna"
}
}
],
"lines": [
{
"id": "yamanote",
"name": {
"ja": "山手線",
"romaji": "Yamanote-sen",
"en": "Yamanote Line"
},
"stations": [
"tokyo",
"kanda",
"akihabara",
"okachimachi",
"ueno",
"uguisudani",
"nippori",
"nishi-nippori",
"tabata",
"komagome",
"sugamo",
"otsuka",
"ikebukuro",
"mejiro",
"takadanobaba",
"shin-okubo",
"shinjuku",
"yoyogi",
"harajuku",
"shibuya",
"ebisu",
"meguro",
"gotanda",
"osaki",
"shinagawa",
"takanawa-gateway",
"tamachi",
"hamamatsucho",
"shimbashi",
"yurakucho"
],
"loop": true
},
{
"id": "chuo",
"name": {
"ja": "中央線",
"romaji": "Chuo-sen",
"en": "Chuo Line"
},
"stations": [
"tokyo",
"kanda",
"ochanomizu",
"yotsuya",
"shinjuku",
"nakano",
"kichijoji",
"mitaka",
"tachikawa",
"hachioji",
"takao"
]
},
{
"id": "keihin-tohoku",
"name": {
"ja": "京浜東北線",
"romaji": "Keihin-Tohoku-sen",
"en": "Keihin-Tohoku Line"
},
"stations": [
"omiya",
"urawa",
"akabane",
"oji",
"tabata",
"nishi-nippori",
"nippori",
"uguisudani",
"ueno",
"okachimachi",
"akihabara",
"kanda",
"tokyo",
"yurakucho",
"shimbashi",
"hamamatsucho",
"tamachi",
"takanawa-gateway",
"shinagawa",
"kawasaki",
"yokohama",
"ofuna"
]
},
{
"id": "narita-express",
"name": {
"ja": "成田エクスプレス",
"romaji": "Narita Ekusupuresu",
"en": "Narita Express"
},
"stations": [
"narita-airport",
"airport-terminal-2",
"tokyo",
"shinagawa",
"shibuya",
"shinjuku"
]
},
{
"id": "keisei-main",
"name": {
"ja": "京成本線",
"romaji": "Keisei Honsen",
"en": "Keisei Main Line"
},
"stations": [
"narita-airport",
"airport-terminal-2",
"narita",
"funabashi",
"aoto",
"nippori",
"keisei-ueno"
]
},
{
"id": "saikyo",
"name": {
"ja": "埼京線",
"romaji": "Saikyo-sen",
"en": "Saikyo Line"
},
"stations": [
"omiya",
"akabane",
"jujo",
"itabashi",
"ikebukuro",
"shinjuku",
"shibuya",
"ebisu",
"osaki"
]
},
{
"id": "marunouchi",
"name": {
"ja": "丸ノ内線",
"romaji": "Marunouchi-sen",
"en": "Marunouchi Line"
},
"stations": [
"ogikubo",
"shinjuku",
"shinjuku-sanchome",
"shinjuku-gyoemmae",
"yotsuya-sanchome",
"yotsuya",
"akasaka-mitsuke",
"kokkai-gijidomae",
"kasumigaseki",
"ginza",
"tokyo",
"otemachi",
"awajicho",
"ochanomizu",
"hongo-sanchome",
"korakuen",
"myogadani",
"shin-otsuka",
"ikebukuro"
]
},
{
"id": "hibiya",
"name": {
"ja": "日比谷線",
"romaji": "Hibiya-sen",
"en": "Hibiya Line"
},
"stations": [
"naka-meguro",
"ebisu",
"roppongi",
"ginza",
"akihabara",
"ueno",
"kita-senju"
]
},
{
"id": "ginza",
"name": {
"ja": "銀座線",
"romaji": "Ginza-sen",
"en": "Ginza Line"
},
"stations": [
"shibuya",
"omotesando",
"akasaka-mitsuke",
"ginza",
"nihombashi",
"kanda",
"ueno",
"asakusa"
]
},
{
"id": "toyoko",
"name": {
"ja": "東急東横線",
"romaji": "Tokyu Toyoko-sen",
"en": "Tokyu Toyoko Line"
},
"stations": [
"shibuya",
"naka-meguro",
"jiyugaoka",
"musashi-kosugi",
"kikuna",
"yokohama"
]
},
{
"id": "tokaido",
"name": {
"ja": "東海道線",
"romaji": "Tokaido-sen",
"en": "Tokaido Line"
},
"stations": [
"tokyo",
"shimbashi",
"shinagawa",
"kawasaki",
"yokohama",
"ofuna"
]
}
]
}