三子棋遊戲俗稱井字棋,棋盤共三行三列,棋子擺滿任一行一列或者對角線就勝利了。
用到的知識:陣列傳參時發生降維,降維成該陣列內元素型別的指標。因此傳參時實參會通過形參的改變而改變。**整體分6塊,
1.void init(char board[row], int x,int y); 初始化棋盤,棋盤模擬成乙個二維陣列board
2.void show(char board[row], int x, int y);顯示棋盤當前狀態
3.char judge(char board[row], int x, int y);判斷遊戲是否結束,之後清算輸贏
4.void c_move(char board[row], int x, int y);模擬電腦落子
5.int firstone();模擬拋硬幣,決定落子先後順序
6.void game();遊戲的執行順序
標頭檔案 game.h
#ifndef __game_h__
#define __game_h__
#include
#include
#include
#pragma warning(disable:4996)
#define row 3
#define line 3
void
init
(char board[
][row]
,int x,
int y)
;void
show
(char board[
][row]
,int x,
int y)
;char
judge
(char board[
][row]
,int x,
int y)
;void
c_move
(char board[
][row]
,int x,
int y)
;int
firstone()
;void
game()
;#endif
game.c
#include
"game.h"
void
init
(char board[
][row]
,int x,
int y)}}
intfirstone()
printf
("硬幣已生成,請猜(反面:0,正面:1):>");
int select=0;
scanf
("%d"
,&select);if
(select == rnum)
else
}void
show
(char board[
][row]
,int x,
int y)
printf
("\n");
printf
("-------------\n");
}}char
judge
(char board[
][row]
,int x,
int y)
if(board[0]
[i]!=
' '&&board[0]
[i]== board[1]
[i]&& board[1]
[i]== board[2]
[i])}if
(board[0]
[0]!=
' '&&board[0]
[0]== board[1]
[1]&& board[0]
[0]== board[2]
[2])
return board[0]
[0];
if(board[0]
[2]!=
' '&&board[0]
[2]== board[1]
[1]&& board[0]
[2]== board[2]
[0])
return board[0]
[2];
for(
int i=
0; i < x; i++)}
return
'f';
}void
c_move
(char board[
][row]
,int x,
int y)}}
void
game()
doelse
if(board[x-1]
[y-1]!=
' ')
else
board[x-1]
[y-1]=
'x';
result=
judge
(board, line, row);if
(result !=
'n')
aa:c_move
(board,line,row)
; result=
judge
(board, line,row);if
(result !=
'n')
}while(1
);if(result ==
'x')
else
if(result ==
'o')
else
if(result ==
'f')
}
main.c
#include
"game.h"
void
menu()
intmain()
}system
("pause");
}
c 實現三子棋
2.顯示棋盤 3.玩家選擇座標進行下棋 4.電腦進行隨機座標下棋 5.每次落子後進行判斷輸贏 6.列印當前棋盤 二 介紹 總結 1.1主要用於函式宣告,以及對棋盤的大小進行初始化 標頭檔案的作用 1.方便開發 包含一些檔案需要的共同的常量,結構,型別定義,函式,變數申明 2.使函式的作用域從函式宣告...
C語言三子棋實現
標頭檔案 ifndef game h define game h include time.h include stdlib.h include string.h include stdio.h define rows 3 define cols 3 void init board char arr...
三子棋的實現
三子棋的實現還是比較簡單的,在寫 之前,你先構建一下遊戲的架構,這樣寫的時候思路比較清晰,不容易思想卡克,很容易就完成。再乙個,你寫的 並不是孤芳自賞的,而是要拿出來給別人看,別人可以清楚地看懂你的 這才是好 我們先來看三子棋的架構如何實現,這就看你的思維邏輯能力了。下面 很清晰的展現了這一架構 v...