C語言實現簡易版掃雷

2021-08-10 00:01:33 字數 2516 閱讀 7562

//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...