三子棋(可修改成五子棋)

2021-10-03 07:23:18 字數 1593 閱讀 6620

c語言寫的三子棋,可用vs2013編譯通過,學習c語言半年時間,第一次寫乙個小遊戲專案,中間bug除錯了一兩個小時,一度想要放棄,最後發現問題,成功寫出來,嘿嘿嘿。

```c

#define _crt_secure_no_warnings

#include //玩家1 操作遊戲的人 落子:『x』

#include //玩家2 電腦 落子:『o』

#include #define max_row 3 //magic number

#define max_col 3

void init(char chessboard[max_row][max_col])

} srand((unsigned int)time(0));

}void print(char chessboard[max_row][max_col])

printf("|");

printf("\n+---+---+---+\n"); }}

void playermove(char chessboard[max_row][max_col])

if (chessboard[row][col] != ' ')

chessboard[row][col] = 'x';

break; }}

void computermove(char chessboard[max_row][max_col])

}int isfull(char chessboard[max_row][max_col])

} }return 1;

}char check(char chessboard[max_row][max_col])

//2.檢查3列

for (col = 0; col < max_col; col++)

//3.檢查兩個對角線

if (chessboard[0][0] != ' ' //右對角線

&& chessboard[0][0] == chessboard[1] [1]

&& chessboard[0][0] == chessboard[2][2])

return chessboard[0][0];

if (chessboard[0][2] != ' ' //左對角線

&& chessboard[0][2] == chessboard[1][1]

&& chessboard[0][2] == chessboard[2][0])

return chessboard[0][2];

if (isfull(chessboard))

return ' ';

}void game()

print(chessboard);

if (winner == 'o')

else if (winner == 'x')

else

}int menu()

int main()

else if (choice == 0)else

} system("pause");

return 0;

}

下五子棋的bot 五子棋演算法

include include include include include include jsoncpp json.h c 編譯時預設包含此庫 define n 7 每個節點的分支數 以下為各棋型的識別碼 權重 define win 1 4000 define lose 2 4000 defi...

窮舉五子棋

本想窮舉五子棋必勝點,可惜呀,這貨窮舉太不現實了,寫出來了,根本沒辦法執行出來結果 include include include define rl 17 char s 14 int five rl rl void init void void print void int cs int i,in...

普通 五子棋

五子棋 五子棋是世界智力運動會競技專案之一,是一種兩人對弈的純策略型棋類遊戲,是世界智力運動會競技專案之一,通常雙方分別使用黑白兩色的棋子,下在棋盤直線與橫線的交叉點上,先形成5子連線者獲勝。棋具與圍棋通用,起源於中國上古時代的傳統黑白棋種之一。主要流行於華人和漢字文化圈的國家以及歐美一些地區,是世...