diff --git a/.vscode/launch.json b/.vscode/launch.json index fbe884a..d6ce79d 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,7 +8,7 @@ "type": "go", "request": "launch", "mode": "debug", - "program": "${workspaceFolder}/cmd/jp-subway-pussel", + "program": "${workspaceFolder}/cmd/metro-puzzle-jp", "cwd": "${workspaceFolder}", "args": ["-level", "001-flygplatsen"], "env": {} @@ -19,8 +19,8 @@ "request": "launch", "mode": "exec", "preLaunchTask": "build", - "program": "${workspaceFolder}/build/debug/jp-subway-pussel", - "windows": { "program": "${workspaceFolder}/build/debug/jp-subway-pussel.exe" }, + "program": "${workspaceFolder}/build/debug/metro-puzzle-jp", + "windows": { "program": "${workspaceFolder}/build/debug/metro-puzzle-jp.exe" }, "cwd": "${workspaceFolder}/build/debug" }, { @@ -29,7 +29,7 @@ "request": "launch", "mode": "exec", "preLaunchTask": "build: release (linux-amd64)", - "program": "${workspaceFolder}/build/release/linux-amd64/jp-subway-pussel", + "program": "${workspaceFolder}/build/release/linux-amd64/metro-puzzle-jp", "cwd": "${workspaceFolder}/build/release/linux-amd64" }, { diff --git a/README.md b/README.md index b10ea91..605f43f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# JP Subway Pussel +# Metro Puzzle JP Pixel art-pusselspel: leda ett sällskap – *lämmeltåget* – genom japanska tågstationer byggda som labyrinter, hitta rätt tåg och komma fram till rätt @@ -30,11 +30,11 @@ sudo apt install golang gcc libc6-dev pkg-config libgl1-mesa-dev libx11-dev libx ``` ```bash -git clone /jp-subway-pussel.git && cd jp-subway-pussel +git clone /metro-puzzle-jp.git && cd metro-puzzle-jp go run ./tools/build # debug → build/debug/ go run ./tools/build -mode release -os linux # release → build/release/linux-amd64/ go run ./tools/build -mode release -os windows # korsbygge → build/release/windows-amd64/ -./build/debug/jp-subway-pussel # kör +./build/debug/metro-puzzle-jp # kör go test ./... # tester ``` @@ -43,7 +43,7 @@ go test ./... # tester Installera Go från . Ingen C-kompilator behövs. ```powershell -go run ./tools/build -mode release # → build\release\windows-amd64\jp-subway-pussel.exe +go run ./tools/build -mode release # → build\release\windows-amd64\metro-puzzle-jp.exe ``` ### VS Code @@ -62,14 +62,14 @@ go run ./tools/build -mode release # → build\release\windows-amd64\jp-s ``` build/ ├── debug/ debug-bygge för den här datorn -│ ├── jp-subway-pussel +│ ├── metro-puzzle-jp │ └── resources/ └── release/ ├── linux-amd64/ - │ ├── jp-subway-pussel en strippad binär + │ ├── metro-puzzle-jp en strippad binär │ └── resources/ sprites/ sound/ text/ data/ └── windows-amd64/ - ├── jp-subway-pussel.exe + ├── metro-puzzle-jp.exe └── resources/ ``` @@ -80,10 +80,10 @@ arbetskatalogen (så `go run` och F5 fungerar), och `JP_RESOURCES=/sökväg` ### Flaggor ``` -jp-subway-pussel -level 001-flygplatsen # starta en viss bana -jp-subway-pussel -scale 3 # fönsterstorlek (320x180 × skala) -jp-subway-pussel -smoke 90 # öppna fönster, avsluta efter 90 bildrutor (smoke-test) -jp-subway-pussel -version +metro-puzzle-jp -level 001-flygplatsen # starta en viss bana +metro-puzzle-jp -scale 3 # fönsterstorlek (320x180 × skala) +metro-puzzle-jp -smoke 90 # öppna fönster, avsluta efter 90 bildrutor (smoke-test) +metro-puzzle-jp -version ``` ## Beroenden @@ -108,7 +108,7 @@ vid körning, så den fungerar på alla vanliga distributioner. ## Struktur i korthet ``` -cmd/jp-subway-pussel/ programstart +cmd/metro-puzzle-jp/ programstart internal/game/ Ebitengine-loop och rendering (enda paketet som får känna till Ebitengine) internal/level/ banformat, validering, framkomlighet internal/res/ hittar och läser resources/ diff --git a/cmd/jp-subway-pussel/main.go b/cmd/metro-puzzle-jp/main.go similarity index 72% rename from cmd/jp-subway-pussel/main.go rename to cmd/metro-puzzle-jp/main.go index 5bef366..6b513a5 100644 --- a/cmd/jp-subway-pussel/main.go +++ b/cmd/metro-puzzle-jp/main.go @@ -1,4 +1,4 @@ -// jp-subway-pussel – pixel art-pussel om att hitta rätt tåg på japanska stationer. +// metro-puzzle-jp – pixel art-pussel om att hitta rätt tåg på japanska stationer. package main import ( @@ -9,8 +9,8 @@ import ( "github.com/hajimehoshi/ebiten/v2" - "gitea.brasse-pc.eu/brasse/jp-subway-pussel/internal/buildinfo" - "gitea.brasse-pc.eu/brasse/jp-subway-pussel/internal/game" + "gitea.brasse-pc.eu/brasse/metro-puzzle-jp/internal/buildinfo" + "gitea.brasse-pc.eu/brasse/metro-puzzle-jp/internal/game" ) func main() { @@ -21,7 +21,7 @@ func main() { flag.Parse() if *version { - fmt.Printf("jp-subway-pussel %s (%s)\n", buildinfo.Version, buildinfo.Mode) + fmt.Printf("metro-puzzle-jp %s (%s)\n", buildinfo.Version, buildinfo.Mode) return } @@ -31,7 +31,7 @@ func main() { } ebiten.SetWindowSize(game.ScreenW**scale, game.ScreenH**scale) - ebiten.SetWindowTitle("JP Subway Pussel") + ebiten.SetWindowTitle("Metro Puzzle JP") ebiten.SetWindowResizingMode(ebiten.WindowResizingModeEnabled) ebiten.SetVsyncEnabled(true) diff --git a/doc/mal-och-tester.md b/doc/mal-och-tester.md index 99d9ccc..8861c22 100644 --- a/doc/mal-och-tester.md +++ b/doc/mal-och-tester.md @@ -65,7 +65,7 @@ att bygga på Linux som på Windows. | 2. Data | Allt under `resources/` | Datadrivna tester som läser filerna | `go test ./...` | | 3. Arkitektur | Beroenderegler | `internal/archtest` | `go test ./...` | | 4. Simulering | En bot spelar en bana headless | Deterministisk körning av spelloopen utan rendering (kommande) | `go test ./...` | -| 5. Smoke | Binären öppnar fönster och avslutar | `jp-subway-pussel -smoke 90` | manuellt / med skärm | +| 5. Smoke | Binären öppnar fönster och avslutar | `metro-puzzle-jp -smoke 90` | manuellt / med skärm | | 6. Speltest | Känsla, svårighet, buggar | Checklistan nedan | före varje release | ### Tester som finns i dag diff --git a/doc/plan.md b/doc/plan.md index 68b3023..c73e4ff 100644 --- a/doc/plan.md +++ b/doc/plan.md @@ -1,4 +1,4 @@ -# jp-subway-pussel – plan +# metro-puzzle-jp – plan Navet för projektets dokumentation. Detaljerna ligger i de länkade filerna. @@ -28,7 +28,7 @@ Mönster A enligt playbooken (nedladdningsbar binär), när projektet ska delas: `build/release/-/` är redan formen som en release-zip ska ha. Repot är **lokalt** nu och synkas till Gitea senare (Björn skapar repot och lägger till `claude` som medlem, därefter `git remote add origin -gitea-claude:brasse/jp-subway-pussel.git`). +gitea-claude:brasse/metro-puzzle-jp.git`). ## Milstolpar @@ -56,7 +56,7 @@ Vad som ska vara testat per milstolpe: [mal-och-tester.md](mal-och-tester.md). ## Öppna frågor -- Repo-namn: behålla `pussel` (svenska) eller byta till `puzzle`? +- ~~Repo-namn~~ – beslutat: `metro-puzzle-jp` (Gitea 2026-10-23). Visningsnamnet "Metro Puzzle JP" är bara text i `resources/text/`. - "Game box-liknande" banval: tolkat som spelbräde/världskarta – stämmer det? - Font: PixelMplus (fler kanji, 10/12 px) eller Misaki (8 px, tajtare)? Avgörs i M3 när skyltar renderas på riktigt. diff --git a/doc/roadmap.md b/doc/roadmap.md index e954f3c..45d4712 100644 --- a/doc/roadmap.md +++ b/doc/roadmap.md @@ -17,7 +17,7 @@ de styr hur milstolparna byggs. | Font | **PixelMplus** (10/12 px) eller **Misaki** (8 px) via `ebiten/v2/text/v2` | Pixelfonter med kana **och kanji**. Fri licens. Krävs för att skyltar ska kunna visas på riktigt. Beslut i M3. | | Ljud | `ebiten/v2/audio` med OGG Vorbis (musik, jinglar) och WAV (korta effekter) | Ingår i Ebitengine, inga externa bibliotek. | | Slump | `math/rand/v2` (PCG) genom `internal/rng` | Seedbart, deterministiskt, del-seeds per kontext. | -| Sparfiler | JSON i `os.UserConfigDir()/jp-subway-pussel/` | Rätt plats på både Linux (`~/.config`) och Windows (`%AppData%`). | +| Sparfiler | JSON i `os.UserConfigDir()/metro-puzzle-jp/` | Rätt plats på både Linux (`~/.config`) och Windows (`%AppData%`). | | Versionshantering | Git, lokalt nu, Gitea senare | Enligt playbooken; CI-release när projektet är redo att delas. | ### Varför inte … @@ -51,8 +51,8 @@ de styr hur milstolparna byggs. ### Katalogstruktur ``` -jp-subway-pussel/ -├── cmd/jp-subway-pussel/ main.go – flaggor, fönster, startar spelet +metro-puzzle-jp/ +├── cmd/metro-puzzle-jp/ main.go – flaggor, fönster, startar spelet ├── internal/ │ ├── buildinfo/ version + läge (sätts av byggverktyget) │ ├── res/ hittar och läser resources/ (ren Go) @@ -76,14 +76,14 @@ jp-subway-pussel/ | Vad | Kommando | Resultat | |-----|----------|----------| -| Debug (standard, Ctrl+Shift+B) | `go run ./tools/build` | `build/debug/jp-subway-pussel` + `resources/`; inga optimeringar, full debuginfo | +| Debug (standard, Ctrl+Shift+B) | `go run ./tools/build` | `build/debug/metro-puzzle-jp` + `resources/`; inga optimeringar, full debuginfo | | Debug med debugger (F5) | VS Code "Debug (dlv)" | Kompilerar och startar under delve med cwd = repots rot | | Release Linux | `go run ./tools/build -mode release -os linux -arch amd64` | `build/release/linux-amd64/` – strippad, `-trimpath` | -| Release Windows | `go run ./tools/build -mode release -os windows -arch amd64` | `build/release/windows-amd64/jp-subway-pussel.exe` – GUI-subsystem, inget konsolfönster | +| Release Windows | `go run ./tools/build -mode release -os windows -arch amd64` | `build/release/windows-amd64/metro-puzzle-jp.exe` – GUI-subsystem, inget konsolfönster | | Tester | `go test ./...` | | Versionen i binären kommer från `git describe --tags --always --dirty`, -så en tagg `v0.1.0` ger `jp-subway-pussel v0.1.0` i `-version`. +så en tagg `v0.1.0` ger `metro-puzzle-jp v0.1.0` i `-version`. ## Milstolpar diff --git a/doc/spelbeskrivning.md b/doc/spelbeskrivning.md index 1e07b96..307204b 100644 --- a/doc/spelbeskrivning.md +++ b/doc/spelbeskrivning.md @@ -1,4 +1,4 @@ -# JP Subway Pussel – spelbeskrivning +# Metro Puzzle JP – spelbeskrivning Renskriven och omsorterad version av den ursprungliga idébeskrivningen (2026-10-23). Allt innehåll från originalet finns med; där originalet var @@ -186,4 +186,4 @@ från skills i skill tree, och från unika skills man får av sidouppdrag. | "Lämel tåg" | *Lämmeltåg*: sällskapet som följer efter dig i rad | Styr §5 | | "level maps game box liknande styl av level väljande" | Bankarta i spelbrädes-/världskartestil | Kan ändras om något annat avsågs | | "bilder och eventuella språk och tester" (resursmappen) | bilder, språk och *texter* | Se resurslayouten i roadmap | -| Repo-namnet "jp-subway-pussel" | Behållet; *pussel* är korrekt svenska | Byt till `-puzzle` om det ska vara helengelskt | +| Repo-namnet | Arbetsnamnet var "jp-subway-pussel"; Björn döpte Gitea-repot till **metro-puzzle-jp** (2026-10-23), så repo, modul, binär och titel heter så | Spelets visningsnamn "Metro Puzzle JP" kan ändras fritt i `resources/text/*.json` | diff --git a/go.mod b/go.mod index 1b8cbc4..e99ebe1 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module gitea.brasse-pc.eu/brasse/jp-subway-pussel +module gitea.brasse-pc.eu/brasse/metro-puzzle-jp go 1.27 diff --git a/internal/game/game.go b/internal/game/game.go index ea61084..bbe9c67 100644 --- a/internal/game/game.go +++ b/internal/game/game.go @@ -11,9 +11,9 @@ import ( "github.com/hajimehoshi/ebiten/v2/ebitenutil" "github.com/hajimehoshi/ebiten/v2/inpututil" - "gitea.brasse-pc.eu/brasse/jp-subway-pussel/internal/buildinfo" - "gitea.brasse-pc.eu/brasse/jp-subway-pussel/internal/level" - "gitea.brasse-pc.eu/brasse/jp-subway-pussel/internal/res" + "gitea.brasse-pc.eu/brasse/metro-puzzle-jp/internal/buildinfo" + "gitea.brasse-pc.eu/brasse/metro-puzzle-jp/internal/level" + "gitea.brasse-pc.eu/brasse/metro-puzzle-jp/internal/res" ) // Intern upplösning. Allt ritas i denna storlek och skalas sedan upp med @@ -125,7 +125,7 @@ func (g *Game) Draw(screen *ebiten.Image) { name = "FEL: " + g.levelError.Error() } ebitenutil.DebugPrint(screen, fmt.Sprintf( - "JP Subway Pussel %s (%s) %.0f fps\nBana: %s\nResurser: %s\nESC avslutar", + "Metro Puzzle JP %s (%s) %.0f fps\nBana: %s\nResurser: %s\nESC avslutar", buildinfo.Version, buildinfo.Mode, ebiten.ActualFPS(), name, g.resDir)) } diff --git a/internal/level/level_test.go b/internal/level/level_test.go index 93c3553..3c4fbf6 100644 --- a/internal/level/level_test.go +++ b/internal/level/level_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "gitea.brasse-pc.eu/brasse/jp-subway-pussel/internal/res" + "gitea.brasse-pc.eu/brasse/metro-puzzle-jp/internal/res" ) const sample = `{ diff --git a/resources/text/en.json b/resources/text/en.json index e4b81b4..b6aa18d 100644 --- a/resources/text/en.json +++ b/resources/text/en.json @@ -1,5 +1,5 @@ { - "game.title": "JP Subway Puzzle", + "game.title": "Metro Puzzle JP", "menu.start": "Start", "menu.continue": "Continue", "menu.endless": "Endless mode", diff --git a/resources/text/sv.json b/resources/text/sv.json index 2e33b1b..73fb557 100644 --- a/resources/text/sv.json +++ b/resources/text/sv.json @@ -1,5 +1,5 @@ { - "game.title": "JP Subway Pussel", + "game.title": "Metro Puzzle JP", "menu.start": "Starta", "menu.continue": "Fortsätt", "menu.endless": "Oändligt läge", diff --git a/tools/build/main.go b/tools/build/main.go index 39fb09d..3263df9 100644 --- a/tools/build/main.go +++ b/tools/build/main.go @@ -22,7 +22,7 @@ import ( ) const ( - appName = "jp-subway-pussel" + appName = "metro-puzzle-jp" mainPkg = "./cmd/" + appName )