c語言 三子棋

2021-09-29 12:23:55 字數 2886 閱讀 7160

game.h//標頭檔案`

#ifndef __game_h_

#define __game_h_

//define與下劃線之間要有空格,game前面帶上兩個下劃線,怎麼寫都行要做到見名識意與別的標頭檔案不衝突

#include

#include

#include

#pragma warning(disable:4996)

#define row 3

#define col 3

//注意空格,放在標頭檔案裡了

#define p_color 'x'

//定義玩家輸入顯示的為x

#define c_color 'o'

//定義電腦輸入顯示的為0

#define init ' '

//說明一下用init代替空格

void

initboard

(char board[

][col]

,int row,

int col)

;//二維陣列宣告時行可以被省略

void

showboard

(char board[

][col]

,int row,

int col)

;void

computermove

(char board[

][col]

,int row,

int col)

;char

judge

(char board[

][col]

,int row,

int col)

;//這四個是宣告,實現要在game.c檔案中

void

game()

;//宣告

#endif

main.c
#include

"game.h"

//用雙引號

void

menu()

intmain()

}printf

("baybay!\n");

//走到這裡說明退出了

system

("pause");

}

game.c
#include

"game.h"

void

initboard

(char board[

][col]

,int row,

int col)}}

void

showboard

(char board[

][col]

,int row,

int col)

printf

("\n");

printf

("------------\n");

//行分隔符}}

void

computermove

(char board[

][col]

,int row,

int col)}}

char

judge

(char board[

][col]

,int row,

int col)

//判定誰贏誰輸,窮舉方法

}for

(i=0

; i < col;i++)}

if(board[1]

[1]!=

' '&&\

board[1]

[1]== board[0]

[0]&&\

board[1]

[1]== board[2]

[2])

if(board[1]

[1]!=

' '&&\

board[0]

[2]== board[1]

[1]&& \

board[1]

[1]== board[2]

[0])

for(i =

0; i < row;i++)}

}return

'f';

}int

guess()

//判斷

printf

("你猜錯了,電腦先走\n");

return0;

}void

game()

if(board[x -1]

[y -1]

!=' '

) board[x -1]

[y -1]

= p_color;

who =0;

printf

("你已經走完,電腦正在思考...\n");

break

;case0:

computermove

(board, row, col)

;//電腦走

who =1;

//狀態機

printf

("電腦已經走完,請你思考...\n");

break

;default

:break;}

result =

judge

(board, row, col)

;//判定玩家下完每一步棋是否贏或輸,

if(result !=

'n')

}while(1

);//出了迴圈表示遊戲已經結束

if(result == p_color)

else

if(result == c_color)

else

printf

("你玩的還不錯,要不要繼續玩\n");

}

C語言 三子棋

使用工具 vs2017 分為三部分 game.h 函式宣告 game.c 實現函式功能 test.c main函式 棋盤為3 3的矩陣 規則 1.每回合玩家與電腦只能放置一枚棋子 2.已有棋子的位置不能再放置棋子 3.若有一方的三枚棋子可連城一條直線,則勝利 4.若棋盤棋子已經布滿,但是雙方沒有一方...

三子棋(c語言)

今天做了乙個三子棋小遊戲,寫了好久卻只完成了一部分,先把這部分分享給大家吧!望大家給點建議和指導,最後判斷輸贏部分到現在還沒構思出來,嘿嘿!game.h define crt secure no warnings 1 ifndef game h define game h include inclu...

c語言 三子棋

c語言三子棋 來完善一下三子棋 game.h define crt secure no warnings 1 ifndef game h define game h include include include include define row 3 define col 3 void menu...