三子棋(可更改為n子棋)

2021-09-23 06:21:26 字數 2759 閱讀 5966

標頭檔案 game.h

#include#include#include#include#include#define row 3    //建立棋盤寬度

#define col 3 //建立棋盤長度

#define rule 3 //選擇幾子相連獲勝

void c_excel(char ex[row][col], int row, int col);

void printexcel(char ex[row][col], int row, int col);

void myplay(char ex[row][col], int row, int col);

void computerplay(char ex[row][col], int row, int col);

char is_win(char ex[row][col], int row, int col, int rule);

geme.c檔案

#define _crt_secure_no_warnings

#include"game.h"

void c_excel(char ex[row][col], int row, int col) //棋盤初始化

void printexcel(char ex[row][col], int row, int col) //列印棋盤

printf("\n");

if (i < row - 1)

}printf("\n"); }}

void myplay(char ex[row][col], int row, int col) //玩家下棋

else if (ex[a-1][b-1] != ' ')

else if (ex[a-1][b-1] == ' ')

} }void computerplay(char ex[row][col], int row, int col) //電腦下棋 }}

static int win_1(char ex[row][col], int x, int y, int rule, char c) //橫著相連獲勝

return count; //返回目標棋子個數,是否與規則規定相同

}static int win_2(char ex[row][col], int x, int y, int rule, char c) //判讀豎著相連

return count; //返回目標棋子個數,是否與規則規定相同

}static int win_3(char ex[row][col], int x, int y, int rule, char c) //判斷對角線↘

i++;

j++;

rule--;

} return count; //返回目標棋子個數,是否與規則規定相同

}static int win_4(char ex[row][col], int x, int y, int rule, char c) //判斷對角線↙

i++;

j--;

rule--;

} return count; //返回目標棋子個數,是否與規則規定相同

}static char is_full(char ex[row][col], int row, int col) //判斷棋盤是否下滿

} return 'q';

}char is_win(char ex[row][col], int row, int col, int rule)

} for (i = 0; i <= row - rule; i++) //每一數列只需判斷到列數減規則數個 }

for (i = 0; i <= row - rule; i++) //判斷↘,列從0開始,只需判斷到列數減規則數個 }

for (i = 0; i <= row - rule; i++) //判斷↙,列從0開始,只需判斷到列數減規則數個 }

ret = is_full(ex, row, col); //判滿

if (ret == 'q')

return ret;

return ' ';

}

主函式檔案

在這裡插入#define _crt_secure_no_warnings

#include"game.h"

void menu()

void game()

; //設定存放棋盤內容陣列

c_excel(excel, row, col); //初始化棋盤

printexcel(excel, row, col); //列印棋盤

while (1)

if (ret == '*')

printf("玩家勝\n");

if (ret == '#')

printf("電腦勝\n");

if (ret == 'q')

printf("平局\n");

}int main()

} while (me);

system("pause");

return 0;

}

三子棋(拓展n維)

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 pri...

三子棋遊戲

首先介紹一下三子棋遊戲規則 這是乙個玩家和電腦對戰的三子棋遊戲 棋盤如上圖所示,三個棋子連在一起則勝利 下面就是用c語言實現的方法 建立棋盤 利用二維陣列來實現乙個棋盤,棋盤剛開始是沒有任何棋子的,將二維陣列所有元素初始化為空格即可 玩家下棋 玩家輸入棋盤中的對應座標來下棋,下棋時需要考慮輸入座標合...

三子棋遊戲

閒來無事,竟意外發現了三子棋遊戲,順便實現了這個過程,我們一起來看下。三子棋的實現需要的是五個函式,我用了initboard 初始化棋盤函式 display 列印棋盤函式 player 玩家 computer 電腦 check full 判斷棋盤是否已滿,從而判斷輸贏 game.h define c...