這個 repository 主要用來 demo 使用 golang 來實做 2048 遊戲的功能
目標會採用 ebiten 來作畫面展現的遊戲引擎
預期會先從核心功能開始寫,最後再加上 ebiten 來作畫面渲染
2048 是一款單人益智遊戲,玩家透過滑動方格中的數字進行合併, 最終目標是在盤面上生成一個 數字 2048 的方塊。 遊戲盤面為 4x4,每格可以放置一個數字(通常是 2 的冪次)。
遊戲基本迴圈如下:
這是 2048 最重要的邏輯,先用向左滑為例:
| 操作前 | 壓縮非零數字 | 合併相同數字 | 再壓縮 |
|---|---|---|---|
| 2 0 2 4 | 2 2 4 0 | 4 0 4 0 | 4 4 0 0 |
| 4 4 4 4 | 4 4 4 4 | 8 0 8 0 | 8 8 0 0 |
遊戲會在以下情況結束:
勝利條件
盤面上出現數字 2048(或玩家自訂目標,例如 4096)。
失敗條件
盤面已無空格,且 四個方向都無法再合併。