井字棋(Tic-Tac-Toe)3x3 棋盤,玩家 X、電腦 O 輪流落子,三連線獲勝。本文實現完整遊戲邏輯:棋盤初始化/顯示、玩家輸入座標驗證、電腦簡單策略(首個空位)、輸贏平判斷(行/列/對角線)、主循環。
int board[3][3]; // ' ' 空,'X' 玩家,'O' 電腦
Init_Arr():全部置 ' '。Print_Checkerboard():格式化輸出帶分隔線的棋盤。Player(board, x, y):驗證座標合法(1-3)且位置為空,落子 'X',返回 1 成功。Robot(board):掃描 board[0] 到 board[8],首個空位落子 'O'(極簡策略)。Judge(board):檢查 8 條獲勝線(3 行、3 列、2 對角),返回 1 玩家勝、2 電腦勝、3 平局、0 繼續。while (1) {
printf("Enter X,Y (1-3): "); scanf("%d %d", &x, &y);
if (Player(board, x, y)) {
Robot(board);
Print_Checkerboard(board);
int res = Judge(board);
if (res == 1) { printf("Player win!\n"); break; }
if (res == 2) { printf("Robot win!\n"); break; }
if (res == 3) { printf("Draw!\n"); break; }
} else printf("Invalid move!\n");
}
此實現涵蓋遊戲開發核心要素:狀態表示、渲染、輸入處理、規則驗證、AI 決策、終局判斷、主循環。是從「寫代碼」邁向「寫遊戲」的優秀入門項目。