Add invariant tests for maze, runner, pinball and siege data tables
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- game-dev, testing-qa
Direzione di ricerca
Start by reading the listed tables in games/maze/maze.ts, games/maze/config.ts, games/runner/patterns.ts, and games/pinball/table.ts, then check how games/runner/scenes/GameScene.ts consumes runner patterns. games/siege/sprites.ts imports Phaser, so its data needs a Phaser-free home before Node can load it. Add checks for the listed invariants and make them pass in CI; the issue notes there is no test suite yet.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Hand-edited ASCII and coordinate tables depend on constants defined elsewhere. A one-character typo compiles cleanly and only shows up in play: a chaser stuck in the house, an unreachable dot, or a Runner crash on an empty pattern pool.
Where
games/maze/maze.ts:8-72,games/maze/config.ts:8-9,games/maze/config.ts:46games/runner/patterns.ts:31-45,games/runner/scenes/GameScene.ts:293-300games/pinball/table.ts:19-86games/siege/sprites.ts:1,games/siege/sprites.ts:8-31(imports Phaser, so its data cannot be loaded in node)
Suggested fix
Maze
-
MAZEhasROWSrows of lengthCOLS, each a palindrome -
wrapXwraps both edges; the tunnel row is open at both ends - The door cell is not open; the house exit and bonus cell are open
- Exactly 4 power cells; dot count exceeds the highest bonus threshold
- A flood fill from the player start reaches every dot and power cell
Runner
- At least one pattern has
minLevel0; allminLevelvalues are within the level cap - Every piece lies within its pattern length; solid pieces do not overlap
Pinball
- All coordinates are finite; arch segments share endpoints and join the side walls
- Flipper pivots are symmetric; target and lane counts match the trophy text
Siege
- Move the art and scoring tables to a Phaser-free module, then assert equal-width rows, matching frame sizes and a points value for every row kind
Acceptance criteria
- The cases above pass in CI
Getting started
- Relevant files:
games/maze/maze.ts,games/maze/config.ts,games/runner/patterns.ts,games/pinball/table.ts,games/siege/sprites.ts - Run locally:
npm install, thennpm run dev - Checks:
npm run typecheckandnpm run build(there is no test suite yet) - Related docs:
README.md
Filed by repo-audit/full-audit at b001f5d. Severity: low. Effort: M. audit-key: testing|games/maze/maze.ts|MAZE
- Lingua principale
- TypeScript
- Stelle
- 3
- Fork
- 3
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di TMHSDigital/GH-Arcade
-
enhancement good first issue severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
TMHSDigital/GH-Arcade#50 ·
-
enhancement good first issue severity: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
TMHSDigital/GH-Arcade#47 ·
-
documentation good first issue severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
TMHSDigital/GH-Arcade#34 ·
-
documentation good first issue severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
TMHSDigital/GH-Arcade#33 ·
-
dependencies good first issue severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
TMHSDigital/GH-Arcade#27 ·
Tutte le issue di TMHSDigital/GH-Arcade
Issue simili
-
automated-triage type/bug type/ci
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
📦 expo-router Android contributor: external needs review sdk-58 severity: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
expo/expo#53436 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Translate the READMEApertadocumentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
asasemahmed/openboard#68 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Document PowerShell shell semantics and read-only Bash deduplication in Built-in Tools referenceApertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100