C語言小遊戲 三子棋

2021-08-13 14:47:19 字數 2327 閱讀 8708

將整個**分裝在三個檔案中,分別為原始檔: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語言小遊戲。拿到這個題目,我們首先應該要有乙個清晰的思路,三子棋我們應該都是很熟悉的,就是乙個簡單的棋盤,然後需要兩個人對弈,一人走一步,誰先將三顆棋子連成一條線誰...