第八章:遊戲開發初體驗:井字遊戲

學習用程式設計思維,打造經典的 Tic-Tac-Toe 遊戲。

返回目錄

本章學習重點

井字遊戲雖然規則簡單,但它包含了許多遊戲開發的基本元素。透過這個專案,你將學會如何將一個遊戲的「規則」轉化為電腦可以理解和執行的「程式碼」。

  • HTML 與 `data-` 屬性: 我們會使用 `data-index` 這樣的自訂資料屬性,來為每一個格子做標記。這是在 HTML 中儲存簡單數據的常用技巧。
  • CSS Grid 佈局: 井字遊戲的 3x3 棋盤,是學習 CSS Grid 佈局最完美的範例。我們將學習如何用幾行 CSS 就快速建立出完美的網格。
  • JavaScript 遊戲邏輯:
    • 陣列(Array)儲存遊戲狀態: 我們會用一個長度為 9 的陣列,來記錄棋盤上每一個格子的狀態(是 'X'、'O' 還是空的)。這是將現實世界的遊戲盤面「數據化」的關鍵一步。
    • 玩家輪替系統: 學習如何用一個變數來追蹤現在輪到哪位玩家,並在每次下棋後切換玩家。
    • 勝利條件判斷: 這是最有趣的部分!我們會定義出所有可能的勝利組合(8種),然後寫一個迴圈來檢查每一次下棋後,是否有人達成勝利條件。
    • 處理平手: 當所有格子都下滿,卻沒有人勝利時,遊戲就平手了。我們也需要將這個邏輯判斷加到程式中。
    • 重置遊戲: 一個完整的遊戲,當然要有「重新開始」的功能。我們將學習如何寫一個函式,將所有變數和畫面恢復到初始狀態。

這個專案將會讓你對「演算法」和「程式邏輯」有更深刻的體會。現在,就來看看我們的成品,並準備好接受挑戰吧!