**進入main函式,執行test函式,然後執行menu函式列印選單,再按玩家輸入的資料進入switch判斷是執行game函式還是退出遊戲。
進入game函式,如何初始化棋盤,如何輸出棋盤格式,如何讓玩家走棋子,如何讓電腦走棋子,如何判斷輸贏,如何判斷平局,都在一開始的函式宣告裡有粗略講解,自行研讀易懂。
#include
#include
#include
#define row 3
#define col 3
//函式宣告
void
initboard
(char board[row]
[col]
,int row,
int col)
;//初始化棋盤
void
displayboard
(char board[row]
[col]
,int row,
int col)
;//如何輸出棋盤格式
void
playermove
(char board[row]
[col]
,int row,
int col)
;//玩家走
void
computermove
(char board[row]
[col]
,int row,
int col)
;//電腦走
char
iswin
(char board[row]
[col]
,int row,
int col)
;//判斷輸贏
intisfull
(char board[row]
[col]
,int row,
int col)
;//是否平局
void
menu()
void
game()
;//初始化棋盤
char ret =0;
initboard
(board,row,col)
;//設定棋盤的格式
//列印棋盤
printf
("\n");
displayboard
(board, row, col)
;while(1
)//電腦走
computermove
(board,row,col)
;displayboard
(board, row, col)
;//電腦走也列印棋盤
ret=
iswin
(board, row, col)
;//判斷是否繼續迴圈
if(ret !=
'c')}if
(ret ==
'*')
else
if(ret ==
'#')
else
if(ret ==
'q')
}void
test()
}while
(input);}
intmain()
void
initboard
(char board[row]
[col]
,int row,
int col)
//初始化棋盤內容
}void
displayboard
(char board[row]
[col]
,int row,
int col)
printf
("\n");
if(i < row -1)
printf
("\n");
}}printf
("\n");
}void
playermove
(char board[row]
[col]
,int row,
int col)
else
}else}}
void
computermove
(char board[row]
[col]
,int row,
int col)}}
intisfull
(char board[row]
[col]
,int row,
int col)}}
//滿了
return1;
}//判斷輸贏
//玩家贏-'*'
//電腦贏-'#'
//平局-'q'
//繼續-'c'
char
iswin
(char board[row]
[col]
,int row,
int col)
}//列判斷
for(i =
0; i < col; 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[0]
[2]!=
' ')
//判斷平局if(
isfull
(board,row,col)==1
)else
return
'c';
}
執行結果:
三子棋遊戲(井字棋)
1 首先,我們得先要有乙個棋盤,那我們就得先編寫乙個函式來將棋盤初始化,再編寫乙個函式負責列印我們的棋盤。我們列印的棋盤為 2 有了棋盤後,就可以下棋了。我們可以編寫兩個函式,乙個是玩家下棋子,乙個是電腦隨機下棋子。3 最後就是判斷是誰贏得了比賽,還是平局。這些就是三子棋的大致步驟了。以下就是實現三...
c語言程式設計三子棋(井字棋)
標頭檔案 test.h ifndef three chess h 防止標頭檔案被重複,包含 也可以用 pragma once define three chess h include include include pragma warning disable 4996 vs中解決scanf函式不能...
c語言井字棋(三子棋)簡易版
遊戲的棋盤為3 3 的九宮格模式,玩家 vs 電腦 只要玩家 電腦 的某個方向的棋子連成一條線,就是玩家 電腦 或獲勝。1 表示玩家 2 表示電腦。此時就算是玩家勝利 玩家進行選擇 0 表示開始遊戲,1 表示退出遊戲 此處我們需要進行判斷玩家輸入是否有誤,輸入的值必須是0或者1,其他錯誤輸入需要進行...