將整個**分裝在三個檔案中,分別為原始檔:test.c game.c game.h 。
**如下:
game.h
#ifndef __game_h__
#define __game_h__
#define row 3
#define col 3//定義棋盤行數和列數
#include
#include
#include
#include
void menu();//用來列印選單
void game();//遊戲的主體函式
int win(char chess[row][col]);//判斷遊戲的贏家
int go_on(char chess[row][col]);//判斷遊戲是否應該繼續
void print(char chess[row][col]);//列印棋盤
void init(char chess[row][col], int row, int col);//初始化棋盤
#endif
game.c
#define _crt_secure_no_warnings 1
#include"game.h"
void init(char chess[row][col], int row, int col)
}}void print(char chess[row][col])
}printf("\n");
if (i != row - 1)}}
printf("\n");
}}int go_on(char chess[row][col])}}
return0;}
int win(char chess[row][col])//判斷是否有獲勝的一方,玩家獲勝返回字元0,電腦獲勝返回字元x
}for (i = 0; i < col; i++)
}if (chess[0][0] == chess[1][1]
&& chess[1][1] == chess[2][2]
&& chess[0][0] != ' ')
if (chess[0][2] == chess[1][1]
&& chess[1][1] == chess[2][0]
&& chess[0][2] != ' ')
ret=go_on(chess);//由於會有平局的情況出現,所以這裡要判斷棋盤是否已被充滿,充滿時返回字元q,也就是平局的情況出現
if (1 == ret)//ret=1時表示棋盤沒有被充滿,所以玩家和電腦就可以繼續遊戲
else
}void game()
;//定義棋盤陣列
init(chess, row, col);
print(chess);//列印一次棋盤
while (go_on(chess))//當棋盤沒有被充滿時,go_on(chess)返回值為1,即迴圈可以進行,棋盤充滿後返回值為0,就會跳出迴圈了
chess[row][col] = '0';//將玩家輸入的合法位置改為字元0,也就是玩家的棋子
print(chess);//每輸入一次就列印一次更新後的棋盤
winer = win(chess);//每次輸入之後就判斷一次是否有贏家或者平局的情況出現
if (winer == 'x')
else
if (winer == '0')
else
if (winer == 'q')
printf("電腦走:");
dowhile (chess[row_cmp][col_cmp]!=' ');//分別隨機生成0到2的隨機數,當生成的位置在棋盤上為空格時,跳出此迴圈
chess[row_cmp][col_cmp] = 'x';//將電腦生成的隨機合法位置改為字元x
printf("\n");
print(chess);//再列印一次棋盤
winer=win(chess);//再判斷是否有贏家出現
if (winer == 'x')
else
if (winer == '0')
else
if (winer == 'q')
}}
test.c
#define _crt_secure_no_warnings 1
#include"game.h"//將所有使用的標頭檔案都寫進game.h中,所以這裡只需要引用game.h就ok了
void menu()
int main()//函式從此處進入
}}
以上就是c語言三子棋的所有**。 C語言小遊戲 三子棋
三子棋小遊戲 三子棋的實現是當玩家或者電腦自身所下的位置在同一條線時,判斷輸贏。在編寫該遊戲 時應注意到以下幾個方面的問題 1 首先應該列印棋盤以及初始化棋盤 2 在玩家和電腦落子之後均要列印一次棋盤 3 每次落子之前列印棋盤後,均要判斷是否已產生贏家 4 判斷輸贏之後,應當判斷此時棋盤是否已滿 5...
C語言小遊戲 三子棋
c語言三子棋小遊戲,通過二維陣列構建棋盤.利用七個個函式 void init 構建棋盤 void meau 遊戲選單 void display 構建棋盤 void player 玩家進行 void computer 電腦進行 char iswin 判斷輸贏 int isfull 判斷棋盤是否下滿 來...
三子棋小遊戲(C語言)
我們在c語言階段,學的差不多就應該有能力寫一些小遊戲來檢測我們c語言到底學的咋樣,恰巧三子棋和掃雷應該是每乙個程式設計師都會的,簡單的c語言小遊戲。拿到這個題目,我們首先應該要有乙個清晰的思路,三子棋我們應該都是很熟悉的,就是乙個簡單的棋盤,然後需要兩個人對弈,一人走一步,誰先將三顆棋子連成一條線誰...