C語言小遊戲 簡單三子棋

2021-08-18 08:21:43 字數 3553 閱讀 5463

1. 這個小遊戲由兩個原始檔,乙個標頭檔案分工合作完成。

test.c

game.c

game.h

2. 確定基本框架,在test.c中寫主函式以及遊戲所需的基本框架(例如:menum();switch();)

3. 先確定這個遊戲需要的函式功能,在game.h中進行函式宣告,game.c中進行函式的定義,test.c中進行函式的呼叫。

void init_board(char arr[row][col],int  row,int  col);//初始化棋盤

void displayboard(char arr[row][col], int row, int col);//列印

void playermove(char arr[row][col], int row, int col);//玩家走

void computermove(char arr[row][col], int row, int col);//電腦走

char iswin(char arr[row][col], int row, int col);//判斷輸贏

int ifull(char arr[row][col], int row, int col);//判斷滿盤

以上是三子棋小遊戲的基本框架

下面是具體**

game.h

#define _crt_secure_no_warnings 1

#ifndef _game_h_

#define _game_h_

#endif

#define row 3//棋盤大小

#define col 3//棋盤大小

#define num 3//判斷幾子棋

#include

#include

#include

#include

void init_board(char arr[row][col],int row,int col);//初始化棋盤

void displayboard(char arr[row][col], int row, int col);//列印

void playermove(char arr[row][col], int row, int col);//玩家走

void computermove(char arr[row][col], int row, int col);//電腦走

char iswin(char arr[row][col], int row, int col);//判斷輸贏

int ifull(char arr[row][col], int row, int col);//判斷滿盤

test.c

#define _crt_secure_no_warnings 1

#include"game.h"

void menum()

void game()

; init_board(board, row, col);//初始化棋盤

displayboard(board, row, col);//列印

while (1)

if (ifull(board, row, col) == 1)

computermove(board, row, col);//電腦走

displayboard(board, row, col);//列印

if (iswin(board, row, col) == 'y')

if (ifull(board,row,col) == 1)

}}void test()

} while (i);

}int main()

game.c

#define _crt_secure_no_warnings 1

#include"game.h"

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

}}void displayboard(char arr[row][col], int row, int col)//列印

printf(" %c \n", arr[i][j]);

if (i < row - 1)

printf("---");

}printf("\n");

}}void playermove(char arr[row][col], int row, int col)//玩家走

}printf("請重新輸入\n");

}}void computermove(char arr[row][col], int row, int col)//電腦走

}}char iswin(char arr[row][col], int row, int col)//判斷輸贏}}

}for (j = 0; j < col; j++)}}

}for (i = 0; i <= row - num; i++)}}

}}for (i = 0; i <= row - num; i++)//判斷斜/}}

}}}int ifull(char arr[row][col], int row, int col)判斷滿盤

}return1;}

/這裡有兩個判斷輸贏函式,兩個用了不同的思路,上面那個可以判斷不止三子棋,任意棋的都可以,只需要改變num的值。

/下面這個是只能判斷三子棋,其演算法思路比較簡單,好理解。

//char iswin(char arr[row][col], int row, int col)//判斷輸贏

//// }

// }

// for (j = 0; j < col; j++)

//

// }

// }

// for (i = 0; i <= row - num; i++)

//

// }

// }

// for (i = 0; i <= row-num; i++)

//

// }

// }

//}

執行結果如下:

以上是乙個簡單的三子棋遊戲,這個遊戲目前只是乙個比較笨的遊戲,在電腦下棋函式還可以加一些演算法讓電腦可以進行搶中間,賭玩家,優先贏的功能。

C語言小遊戲 三子棋

三子棋小遊戲 三子棋的實現是當玩家或者電腦自身所下的位置在同一條線時,判斷輸贏。在編寫該遊戲 時應注意到以下幾個方面的問題 1 首先應該列印棋盤以及初始化棋盤 2 在玩家和電腦落子之後均要列印一次棋盤 3 每次落子之前列印棋盤後,均要判斷是否已產生贏家 4 判斷輸贏之後,應當判斷此時棋盤是否已滿 5...

C語言小遊戲 三子棋

c語言三子棋小遊戲,通過二維陣列構建棋盤.利用七個個函式 void init 構建棋盤 void meau 遊戲選單 void display 構建棋盤 void player 玩家進行 void computer 電腦進行 char iswin 判斷輸贏 int isfull 判斷棋盤是否下滿 來...

C語言小遊戲 三子棋

將整個 分裝在三個檔案中,分別為原始檔 test.c game.c game.h 如下 game.h ifndef game h define game h define row 3 define col 3 定義棋盤行數和列數 include include include include voi...