三子棋的c語言設計的思路:
1.設計乙個介面:讓玩家執行後即可以看到乙個介面,而此時介面需要乙個讓玩家選擇的語句,即可以選擇玩遊戲或者退出操作。介面設計需要swich語句的實現,退出遊戲設計選項為0,即可以當選擇退出遊戲時直接退出while(迴圈),即結束遊戲。
2.遊戲實現:當玩家選擇玩遊戲時,呼叫啟動遊戲的函式,而在遊戲中,應當有的內容有:
(1)遊戲內的棋盤設計:三子棋應當是三行三列的乙個棋盤,通過函式列印出來。
(2)玩家的移動:玩家輸入相應的座標然後將屬於玩家的標記列印在棋盤上,且電腦不能在同一位置列印。
(3)電腦的移動:電腦應隨即控制,即呼叫rand函式,使用time和時間隨機。
(4)輸贏的處理:這裡需要給出判斷輸贏的條件:即任意一行或一列或對角線相同即為贏,通過標記的符號來判斷玩家贏還是電腦贏,如果棋盤放滿且仍未判斷出輸贏,則為平局。
(5)函式的呼叫處理:在函式呼叫時,每走一步,應列印出相對應的棋盤供玩家**,定義乙個標頭檔案直接將所需函式的標頭檔案以及所需要的定義的行列常量,函式宣告放在裡面,在**中只需用col和row表示即可,需要修改棋盤的時候,只需修改標頭檔案中的define所定義的col以及row。
首先是遊戲的介面**:直接用printf列印出來即可
void
meun()
然後設計出三子棋的棋盤
void
showboard
(char board[
col]
, int row, int col)
}printf
("\n");
if(i < row -1)
}printf
("\n");}}}
玩家的移動實現,特別提到的是,實現時注意玩家輸入的座標與陣列對應下標的關係:玩家輸入的座標對應的陣列下標應該減一。
void
playermove
(char board[
col]
, int row, int col)
}else
}}
電腦下棋的功能實現:(用time讓rand函式變成隨機值而不固定隨機)
void
computermove
(char board[
col]
, int row, int col)
}}
輸贏的處理(**與思路一致,有iswin函式(判斷輸贏),isfull(判斷平局))
char iswin
(char board[
col]
, int row, int col)
if(board[0]
[i]== board[1]
[i]&& board[1]
[i]== board[2]
[i]&& board[0]
[i]!=
' ')
if(board[0]
[0]== board[1]
[1]&& board[1]
[1]== board[2]
[2]&& board[0]
[0]!=
' ')
if(board[0]
[2]== board[1]
[1]&& board[1]
[1]== board[2]
[0]&& board[1]
[1]!=
' ')if(
isfull
(board, row, col)==1
)}return
' ';
}static int isfull
(char board[
col]
, int row, int col)}}
return1;
}
最後就是函式呼叫問題,設計乙個函式game()來呼叫設計好的**功能,進行遊戲功能的實現
void
game()
;initboard
(board,
row,
col)
;showboard
(board,
row,
col)
; int ret =0;
while(1
)}if(ret ==
'x')
if(ret ==
'o')
if(ret ==
'q')
}
主函式作為入口,讓玩家自由選擇進入遊戲或者退出
int main()
}while
(input)
;return0;
}
一些需要呼叫的庫函式以及定義,函式宣告放在自定義標頭檔案中呼叫即可
C語言 三子棋遊戲的實現
簡單的三子棋遊戲是指棋盤為3 3,玩家與電腦之間的對決,誰先將各自的棋下為一排 橫 豎 斜 者獲勝,電腦所下位置是隨機產生的 源 如下 game,h中定義的函式 define rows 3 define cols 3 void init board char board rows cols int ...
C語言 三子棋遊戲
用c語言第一次完成三子棋遊戲,感觸特別深刻。在寫 中我明白了,思路還有 風格的重要性,在這次 中發現,我們整理好邏輯想法 對寫 就不會有太多問題了 如下,若有改進的地方,還希望大家可以多多指點。include include include include define row 3 define c...
C語言三子棋遊戲
三子棋是一種只需要行 列 斜中任意一種情況三個相同棋子相連便勝利的遊戲。本程式中,要求玩家與電腦pk,棋盤座標用乙個二維陣列儲存起來,玩家通過鍵盤輸入座標落子,電腦通過srand和rand函式隨機產生座標落子。每次落子都需要判斷遊戲是否結束。1.遊戲選單,供使用者進入遊戲 2.建立初始化棋盤 3.列...