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.

贡献者指南