這個小遊戲也分為三個部分的**,分別是標頭檔案,測試**和遊戲**。
1.注意初始化以及使用getwincount函式的時候字元1和字元0的使用。
2.為了玩家的體驗,第一步不可以被炸死。
3.要擴充套件,這時會用到遞迴,注意遞迴的使用。
4.可以新增標記,優化遊戲。
標頭檔案:game.h
#ifndef __game_h__
#define __game_h__
#include#include#include#include#define row 9
#define col 9
#define rows row+2
#define cols col+2
#define easy_count 10
#define mid_count 30
#define hard_count 60
void initboard(char board[rows][cols], int rows, int cols, char set);
void displayboard(char board[rows][cols], int row, int col);
void setmine(char board[rows][cols], int row, int col);
void findmine(char mine[rows][cols], char show[rows][cols], int row, int col);
void movemine(char mine[rows][cols], int i, int j);
void getminecount(char mine[rows][cols],char show[rows][cols], int i, int j);
void mark(char show[rows][cols]);
#endif //__game_h__
測試**:test.c
#define _crt_secure_no_warnings 1
#include "game.h"
void menu()
void game()
;//布雷的棋盤
char show[rows][cols] = ;//要列印的棋盤
initboard(mine, rows, cols, '0');
initboard(show, rows, cols, '*');//初始化
printf("**********************************\n");
printf("***** 1.easy 2.midium 3.hard *****\n");
printf("**********************************\n");
printf("請選擇相關難度:>");
scanf("%d",&input);
switch(input)
printf("這個棋盤有%d處雷!\n",dif);
setmine(mine, row, col, dif);//設定雷
//displayboard(mine, row, col);
displayboard(show, row, col);//輸出
findmine(mine, show, row, col, dif);//掃雷
}void test()
}while(input);
}int main()
遊戲**:game.c
#define _crt_secure_no_warnings 1
#include "game.h"
void initboard(char board[rows][cols], int rows, int cols, char set)
void displayboard(char board[rows][cols], int row, int col)//列印棋盤
printf("\n");
for(i=1; i<=row; i++)
printf("\n");
} printf("\n");
}void setmine(char board[rows][cols], int row, int col ,int dif)//設定雷 }}
void findmine(char mine[rows][cols], char show[rows][cols], int row, int col , int dif)//掃雷
if(mine[i][j] == '1')
else
}else }
if(n == (row*col-dif)) }
void getminecount(char mine[rows][cols],char show[rows][cols], int i, int j)
if(show[i][j] == '0')//如果輸入的座標沒有雷,就擴充套件 }
void movemine(char mine[rows][cols], int i, int j, int dif)//移雷
//只移走第一次輸入有雷的那個雷
}void mark(char show[rows][cols])//標記
else
show[i][j] = '!';//標記
}
結果展示:
C語言小遊戲 掃雷
1.這個小遊戲由兩個原始檔,乙個標頭檔案分工合作完成。test.c game.c game.h 2.確定基本框架,在test.c中寫主函式以及遊戲所需的基本框架 例如 menum switch 3.先確定這個遊戲需要的函式功能,在game.h中進行函式宣告,game.c中進行函式的定義,test.c...
C語言 掃雷小遊戲
第一次下子,不炸死 座標周圍沒雷,可以實現展開 遊戲結束後展示玩家用時 game.h ifndef game h define game h include include include include define row 12 define col 12 define count 10 棋盤中...
掃雷小遊戲(C語言)
c語言學完了,就嘗試過寫個掃雷的小遊戲,接下來展示一下。整個 分為三個部分 game.h define crt secure no warnings 1 include include include include define rows 11 define cols 11 define coun...