#include
#include
#include
#include
#define rows 3
#define cols 3
void menu();
void init_board(char arr[cols], int x, int y);//初始化棋盤
void print_board(char arr[cols], int x, int y);//列印棋盤
void player_move(char arr[cols]);//玩家下棋
int check_full(char arr[cols], int x, int y);//判斷棋盤是否已滿
void computer_move(char arr[cols]);//電腦下棋
char check_win(char arr[cols], int x, int y);//判斷誰贏
#include"three_chess.h"
void menu()
void init_board(char arr[cols], int x, int y)//傳陣列時一般要把陣列的下標也傳進來
}}void print_board(char arr[cols], int x, int y)
}}void player_move(char arr[cols])
else
}}int check_full(char arr[cols], int x, int y)}}
return
1;//如果程式可以執行到這裡,說明陣列已經滿了,則返回0
}void computer_move(char arr[cols])
else}}
}char check_win(char arr[cols], int x, int y)
for (i=0; iif((arr[i][0] == arr[i][1]) && arr[i][1] == arr[i][2])
}for (i=0; iif ((arr[0][i] == arr[1][i]) && arr[1][i] == arr[2][i])
}if ((arr[0][0] == arr[1][1]) && arr[1][1] == arr[2][2])
if ((arr[0][2] == arr[1][1]) && arr[1][1] == arr[2][0])
return
' ';//如果沒有判斷出誰贏並且棋盤還沒滿,則繼續進行遊戲
}#include"three_chess.h"
void game()//遊戲開始
printf("電腦下:\n");
computer_move(arr);//否則電腦下棋
print_board(arr,rows,cols);//把電腦下過後的棋盤列印出來
ret = check_win(arr, rows, cols);//將判斷輸贏後的返回值儲存起來
}while (ret == ' ');//如果棋盤沒有滿,同時也沒有判斷出輸贏的話,繼續執行迴圈,否則跳出迴圈
if(check_win(arr, rows, cols) == 'p')//如果判斷輸贏的返回值為玩家下的字元則就能判斷出玩家贏
else
if(check_win(arr, rows, cols) == 'c')//如果判斷輸贏的返回值為c,則可以判斷電腦贏
else
}int main()
}while(choose);
}
三字棋 C語言實現
三子棋是一種民間傳統遊戲,又叫九宮棋 圈圈叉叉 一條龍等。將正方形對角線連起來,相對兩邊依次擺上三個雙方棋子,只要將自己的三個棋子走成一條線,對方就算輸了。專案概要 使用c語言中二維陣列和函式的基本知識簡單實現乙個三子棋遊戲,這個遊戲要實現的基本功能主要有初始化棋盤 棋盤的列印 玩家下棋 電腦下棋 ...
用C語言實現三字棋
用c語言實現三字棋,其根本就是在乙個二維陣列裡的各種操作,在這個專案裡面,我們要自己定義乙個標頭檔案 ifndef game h define game h include include include include define row 3 設定行 define col 3 設定列 void ...
c語言三字棋
1.三字棋存在只能演算法,雖然程式較笨,希望大佬指導。2.利用for迴圈巢狀if判斷,每一行有三種堵棋的情況。3.玩家或者電腦每下一步棋都要進行判斷輸贏和列印棋盤 game.h 標頭檔案 ifndef game h define game h include include include defi...