3×3 井字棋,玩家(@) vs 電腦(#),模塊化設計:棋盤顯示、落子驗證、隨機 AI、勝負判斷、主循環控制。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
char board[3][3] = {0};
int empty_count = 9;
void print_board() { ... } // 顯示棋盤
void player_move() { ... } // 玩家落子(含驗證)
void computer_move() { ... } // 電腦隨機落子
int check_winner() { ... } // 返回 1玩家勝 0電腦勝 -1平局 2繼續
int main() {
srand(time(NULL));
// 初始化
for (int i=0;i<3;i++) for(int j=0;j<3;j++) board[i][j]=' ';
while (1) {
print_board();
if (check_winner() != 2) break;
player_move();
print_board();
if (check_winner() != 2) break;
computer_move();
}
// 輸出結果
return 0;
}
do-while 循環確保落子合法check_line(a,b,c,player) 通用檢查函數