debugfest/two-zero-four-eight

Feature Request: Add Multi-Level Undo Functionality

開放

#1 建立於 2025年10月11日

 (0 則留言) (0 個反應) (0 位負責人)TypeScript (5 個分叉)auto 404
enhancementgood first issuehacktoberfest

倉庫指標

星標
 (0 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

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.

貢獻者指南