Neon Maze: a catch on the tick the last dot is eaten clears the level without losing a life
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 72/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- typescript
- Domaine
- game-dev
Piste de recherche
Commence dans games/maze/scenes/GameScene.ts, dans tick() autour des lignes 419-427, où checkCatches() s'exécute avant clearLevel(). Lis ensuite die() et clearLevel() près des lignes 460-482 pour voir comment la phase est écrasée, et update() près de la ligne 196 pour voir où afterDeath() s'exécute. C'est terminé lorsqu'une capture sur l'image où le dernier point est mangé coûte une vie et ne fait pas passer au niveau suivant ; exécute npm test et ajoute une vérification pour ce cas si la suite dispose d'un harnais pour cela.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
In Neon Maze, if a chaser catches the runner on the same tick that the last dot is eaten, the level clears and the life is never lost.
Where
games/maze/scenes/GameScene.ts:419-427(tick:checkCatches()thenif (this.dots.size === 0) this.clearLevel())games/maze/scenes/GameScene.ts:460-462,:480-482(die()sets phase'dying',clearLevel()overwrites it with'clearing')games/maze/scenes/GameScene.ts:196-204(updateonly callsafterDeath(), which takes the life, from'dying')
Details
tick() moves the runner (eating the dot), moves the chasers, then calls checkCatches(), which can call die(). It then goes on to clearLevel() with no phase check, so the 'dying' phase is replaced by 'clearing' and afterDeath() never runs.
Impact
Rare and in the player's favour: the death effects play over a level clear, no life is lost, and the run can be credited with a clear (and the maze.clear trophy) it should not have.
Steps to reproduce
- Leave one dot next to a chaser's path.
- Eat it just as an unscared chaser reaches the runner.
- The death burst plays, then the next level starts with the same lives.
Suggested fix
In tick(), return after checkCatches() if the phase is no longer 'play', or check this.phase === 'play' before calling clearLevel().
Acceptance criteria
- A catch on the frame of the last dot costs a life and does not advance the level.
Getting started
- Relevant files:
games/maze/scenes/GameScene.ts - How to run tests:
npm test
Filed by repo-audit/full-audit at de2b25b. Severity: low. Effort: S. audit-key: bug|games/maze/scenes/GameScene.ts|tick
- Langage dominant
- TypeScript
- Étoiles
- 3
- Forks
- 3
- Merge moyen
- 8 h 13 min
- PR mergées (30 j)
- 2
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de TMHSDigital/GH-Arcade
-
ci good first issue severity: low
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
TMHSDigital/GH-Arcade#111 ·
-
bug good first issue severity: low
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
TMHSDigital/GH-Arcade#105 ·
-
bug good first issue severity: medium
Difficulté 2/5 Moins d'une heure Accessibilité débutants 84/100
TMHSDigital/GH-Arcade#88 ·
-
Add a game speed assist settingOuverteaccessibility enhancement severity: low
Difficulté 4/5 3-5 jours Accessibilité débutants 40/100
TMHSDigital/GH-Arcade#114 ·
-
enhancement severity: low
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
TMHSDigital/GH-Arcade#113 ·
Toutes les issues de TMHSDigital/GH-Arcade
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
steelbrain/node-ssh#487 ·
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundariesOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulté 1/5 Moins d'une heure Accessibilité débutants 62/100
lingdojo/kana-dojo#34127 · 1 commentaire · 5 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 68/100
osmlab/name-suggestion-index#13104 ·
Les mainteneurs répondent en général sous 1 jour