//minesweeping
#define _crt_secure_no_warnings 1
#ifndef __game_h__
#define __game_h__
#include#include#include#include#define row 10
#define col 10
#define rows row+2
#define cols col+2
#define easy_count 10
enum choose
;void init(char arr[rows][cols], int row, int col, char ch);
void print(char arr[rows][cols], int row, int col);
void put_mine(char arr[rows][cols], int row, int col, int n);
int clear_mine(char arr1[rows][cols], char arr2[rows][cols], int row, int col,int *count);
int is_win(char arr2[rows][cols], int row, int col);
#endif//__game_h__
#define _crt_secure_no_warnings 1
#include "game.h"
//初始化明雷盤和展示盤
void init(char arr[rows][cols], int row, int col, char ch)
//列印盤
void print(char arr[rows][cols], int row, int col)
printf("\n");
for (i = 1; i < row-1; i++)
printf("\n"); }}
//布雷
void put_mine(char arr[rows][cols], int row, int col, int n) }}
//第一次踩雷,不能讓玩家輸,將雷換個位置
void first_over(char arr1[rows][cols], int row, int col,int x, int y)
} if (arr1[x][y] = '0')
break; }}
//計算環繞此座標雷的個數
int count_cicular_mine(char arr1[rows][cols], int x, int y)
//擴寬開
void expand(char arr1[rows][cols], char arr2[rows][cols], int row, int col, int x, int y)
if (arr2[x - 1][y] == '*')
if (arr2[x - 1][y + 1] == '*')
if (arr2[x][y + 1] == '*')
if (arr2[x + 1][y + 1] == '*')
if (arr2[x + 1][y] == '*')
if (arr2[x + 1][y - 1] == '*')
if (arr2[x][y - 1] == '*')
}else
} }//掃雷開始
int clear_mine(char arr1[rows][cols], char arr2[rows][cols], int row, int col,int *count)
else
}else
else
}} else
return 1;
}//判斷贏(返回剩下的*的個數)
int is_win(char arr2[rows][cols], int row, int col)
} }return count;
}#define _crt_secure_no_warnings 1
#include#include"game.h"
#includevoid menu()
void game()
; char show[rows][cols] = ;
init(mine, rows, cols, '0');
init(show, rows, cols, '*');
put_mine(mine, row, col, easy_count);
print(mine, rows, cols);
print(show, rows, cols);
do print(show, rows, cols);
} while (1);
if (flag == 0) }
int main()
} while (choose);
fflush(stdin);
getchar();
return 0;
}
用c語言實現簡易版掃雷
簡易版掃雷的原理 在10x10的方格中存入1和0,1 即雷 由電腦隨機產生並放入,玩家進行判斷並輸入 x為列,y為行 若方格中為1,則玩家踩中雷,輸出 game over 若為0,則未踩中雷,顯示周圍的雷的數量並迴圈,直至判斷出所有的0,玩家勝利.首先,我們需引入標頭檔案 ifndef game h...
用C實現簡易版掃雷
用兩個盤實現該遊戲 乙個是雷盤,乙個是展示盤 就是玩遊戲的盤 該 可以實現以下幾個功能 1.列印雷盤和展示盤。隨機產生雷的位置 2.保證第一次掃雷不會被炸死。3.點一下可以展開一片。4.判斷是否贏。注意 要注意兩個盤的座標和下標。還有,呼叫函式和傳參。test.c include include i...
C語言實現簡易掃雷
define crt secure no warnings 1 include include include include define row 9 顯示棋盤的大小 define col 9 define rows row 2 整個棋盤的大小 define cols col 2 define c...