1. 這個小遊戲由兩個原始檔,乙個標頭檔案分工合作完成。
test.c2. 確定基本框架,在test.c中寫主函式以及遊戲所需的基本框架(例如:menum();switch();)game.c
game.h
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語言 掃雷小遊戲
第一次下子,不炸死 座標周圍沒雷,可以實現展開 遊戲結束後展示玩家用時 game.h ifndef game h define game h include include include include define row 12 define col 12 define count 10 棋盤中...
C語言小遊戲 掃雷
這個小遊戲也分為三個部分的 分別是標頭檔案,測試 和遊戲 1.注意初始化以及使用getwincount函式的時候字元1和字元0的使用。2.為了玩家的體驗,第一步不可以被炸死。3.要擴充套件,這時會用到遞迴,注意遞迴的使用。4.可以新增標記,優化遊戲。標頭檔案 game.h ifndef game h...
掃雷小遊戲(C語言)
c語言學完了,就嘗試過寫個掃雷的小遊戲,接下來展示一下。整個 分為三個部分 game.h define crt secure no warnings 1 include include include include define rows 11 define cols 11 define coun...