debugfest/two-zero-four-eight

Feature Request: Add Multi-Level Undo Functionality

オープン

#1 opened on 2025/10/11

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)TypeScript (5 件のフォーク)auto 404
enhancementgood first issuehacktoberfest

Repository metrics

Stars
 (0 個のスター)
PR merge metrics
 (PR metrics pending)

説明

The current game (if undo exists) typically allows only a single undo, limiting flexibility for players who accidentally make multiple misclicks. This restriction can frustrate both casual and strategic players who wish to experiment with different move sequences.

🎯 Proposed Solution

  • Extend undo capability to store and revert the last 3–5 moves.
  • Maintain a stack of previous game states (board, score, move count).
  • Implement keyboard shortcut (e.g., Ctrl + Z) or on-screen Undo button.
  • Limit undo count per game (configurable setting to avoid abuse).

✅ Expected Behavior

  • Players can revert multiple consecutive moves.
  • Undo is smooth, instantaneous, and doesn’t affect game performance.
  • Undo history resets when a new game starts.

💻 Technical Notes

  • Use a stack data structure to store snapshots of game states.
  • Each state includes: tile positions, score, and move history.
  • Manage memory efficiently — discard old states beyond the limit.

🧪 Test Steps

  1. Play a game and make several moves.
  2. Press Undo repeatedly → verify previous states restore correctly.
  3. Ensure score and animations revert as expected.
  4. Start a new game → undo history clears.

コントリビューターガイド