C語言二維陣列應用 三子棋

2021-09-25 16:38:24 字數 1970 閱讀 5487

函式宣告寫在標頭檔案game.h中

#ifndef   __game__h_

#define __game__h_

#define row 3

#include#includevoid initboard(char board[row], int row, int col, char set);

void showboard(char board[row], int row, int col);

void playermove(char board[row], int row, int col);

char iswin(char board[row], int row, int col);

void computermove(char board[row], int row, int col);

#endif

主體功能的實現在test.c中

#define _crt_secure_no_warnings 1

#include"game.h"

void menu()

void game()

;// 定義乙個字元型別3*3的二維陣列

initboard(board, row, row, ' ');//將棋盤初始化為空格

showboard(board, row, row);//列印棋盤

while (1)//只要有一方勝出,結束迴圈

showboard(board, row, row);//show玩家下完後的棋盤

computermove(board, row, row);//電腦下棋

ret = iswin(board, row, row);//判斷輸贏

if (ret != ' ')

showboard(board, row, row);

} if (ret == 'x')

if (ret == ' o')

if (ret == 'q') }

int main()

} while (input);

return 0;

}

函式的實現放在game.c中

void showboard(char board[row], int row, int col)

} printf("\n");

if (i < row - 1)

}printf("\n");

} }}void playermove(char board[row], int row, int col)

else

}else

}}static int isfull(char board[row], int row, int col)

} }return 1;

}char iswin(char board[row], int row, int col)

//列if (board[0][i] == board[1][i] && board[1][i] == board[2][i]

&& board[0][i] != ' ')

//對角線

if (board[0][0] == board[1][1] && board[1][1] == board[2][2]

&& board[0][0] != ' ')

if (board[0][2] == board[1][1] && board[1][1] == board[2][0]

&& board[0][2] != ' ')

if (isfull(board, row, row))

}return ' ';//誰也沒有贏

}void computermove(char board[row], int row, int col)

}}

加油鴨~~

C語言小程式 用二維陣列實現三子棋

三子棋想必對於大家來說並不陌生,三子棋是一種民間傳統遊戲,又叫九宮棋 圈圈叉叉 一條龍 井字棋 田字棋等。將正方形對角線連起來,相對兩邊依次擺上三個雙方棋子,只要將自己的三個棋子走成一條線,對方就算輸了。但是,有很多時候會出現和棋的情況。利用c語言編寫三子棋的 相對來說比較簡單,三子棋其實就可以看作...

用二維陣列實現簡單三子棋遊戲

用二維陣列實現簡單三子棋遊戲 環境 vs2013 define crt secure no warnings define hang 3 define lie 3 include include include void menu 選單 qipan2 int a,int b 初始話棋盤格仔 prin...

C語言 三子棋

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