Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 

Repository files navigation

超級俄羅斯方塊

程式邏輯

  1. 方塊下落(BlockFalling.v):
  • 定期更新方塊位置:
  • 如果下一格為空,方塊下落一格
  • 如果下一格為障礙物或底部,方塊固定在當前位置
  • 固定後生成新方塊
  1. 方塊旋轉(BlockRotation.v):
  • 嘗試順逆時針旋轉方塊形狀
  • 檢查是否超出邊界或重疊
  • 如果未超出邊界,更新方塊狀態
  • 如果超出邊界,取消旋轉
  1. 行消除(UpdatePos.v):
  • 如果一行全部被佔據,則記錄該行,並將上方的堆疊向下移動
  1. 碰撞檢測(UpdatePos.v):
  • 每次方塊移動或旋轉時檢查:
  • 與邊界或其他方塊是否重疊
  • 若發生碰撞,則固定方塊
  1. 隨機生成方塊(random_4bit.v):
  • 隨機生成一個方塊形狀
  • 方塊從遊戲頂部開始落下
  • 如果初始位置與現有方塊重疊,則結束遊戲
  1. 方塊旋轉驗證(RotationValidator.v):
  • 接收BlockRotation 嘗試旋轉的方塊
  • 驗證旋轉後是否會與邊框碰撞或跟方塊重疊
  • 回傳旋轉是否合法
  1. 方塊落點預測(LandingPositionCalculator.v):
  • 根據目前方塊往下掃描直到遇到邊框或是方塊
  • 回傳預測落點座標

遊戲流程

  1. 隨機生成一個方塊。
  2. 方塊持續下落,玩家可以使用按鍵移動、加速下落或旋轉方塊。
  3. 顯示「預測落點」輔助線,提示方塊最終會下落的位置。
  4. 方塊到達底部或與其他方塊碰撞後固定位置。
  5. 每次固定後檢查是否形成完整行,有則行消除並加分。
  6. 生成下一個隨機方塊並重複過程。
  7. 若新生成的方塊與場地上緣接觸,遊戲結束。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages