本文目錄一覽:
C語言 怎麼編程井字棋
簡單來說,定義數據結構(比如棋盤數組,棋盤格子以及棋子,雙方玩家等相關的數據結構表示),定義規則(比如同一個位置不能放兩顆棋子,三顆棋子連線放勝利)。
具體取決於需求,比如圖形表示和AI(人工智能)等等。如果你只是想要簡單的用命令行和文字輸出表示,那麼編寫一個控制台應用程序就可以。如果需要圖形等控制,需要藉助一些圖形以及UI庫等。但是這些外部表示可以跟核心數據結構和規則,算法等分離開來。所以剛開始先用文字表示寫出核心代碼,後續可以逐漸加上UI圖形,AI等。
用c語言寫井字棋遊戲 求教一個問題
用char數組存棋盤,並記錄當前是玩家1還是玩家2。
如果用戶輸入0,首先判斷當前玩家是1還是2。如果是1,就board[0] = ‘O’;否則board[0] = ‘X’。
偽代碼就類似於:
char board[10] = ” “; //初始為9個空格,並且多留一個位置放’\0′
int player = 1; //從玩家1開始,取值為1或2
int position; //玩家在哪個格子放O或X。取值為0~8
while(true) {
scanf(“%d”, position); //獲取玩家輸入
if (player == 1) { //對於玩家1,應該往棋盤上放O,下一次就輪到玩家2
board[position] = ‘O’;
player = 2;
} else { //對於玩家2,應該往棋盤上放X,下一次就輪到玩家1
board[position] = ‘X’;
player = 1;
}
print(board); //輸出棋盤(需要另外實現)
if (gameOver(board)) { //檢查輸贏(需要另外實現)
//輸出誰贏了並退出
break;
}
}
C語言編寫井字棋遊戲 代碼已有半成品
你初始化一個字符數組,裏面都給他一樣的初始值 E
X 下了就改成X ,O 下了就改成 O,下完以後判斷橫豎斜三條線有沒有一樣的,
一共就九個格子,下一步就少一步 ,下之前判斷一下,如果等於E ,就是空的,可以放子。
下完一步總步數減一,你這樣不就能確定還有幾步可以走了。
九步都下完如果沒有橫豎斜都一樣的不就是平局嗎,所有數組元素的值都不等於E了不就結束了,或者九步完了也結束了
另外,少用GOTO ,變量定義最好有意義,寫點注釋
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/279637.html