大家想必都玩過掃雷,無論那個版本都有難度供已選擇,下面來分享乙個自己用c語言編寫的掃雷遊戲吧!
編寫語言:c語言
編寫軟體:visual studio 2017
1.首先是將遊戲的測試模組寫好,要有提示玩家進入的選單函式以及選擇函式等各種需要編寫的函式想出乙個整體框架來
//測試模組test。c
#include "game.h"
void menu()
int game()
; char show[rows][cols] = ;
srand((unsigned)time(null));
init(real,rows, cols, '0');
init(show, rows, cols, '*');
setmine(real, rows, cols, count);
display(show, row, col);
printf("pelase input x and y :\n");
scanf_s("%d%d", &x, &y);
if (real[x][y] == '1')//保證第一次不踩到雷
while (real[x][y] == '1');
}show[x][y] = searchmind(real, &x, &y, rows, cols) + '0';
for (i = 0; i //管理員監視器模組
printf("\n");
}printf("\n");
display(show, row, col);
while ((row*col) > (row*col - num))
if (ret == 0)//踩到雷的情況進入
num--;
}return1;}
int main()
else
break;
}case
2: return
0; break;
default:
printf("請重新輸入\n");
break;}}
}
測試函式中的標頭檔案 #include 「game.h」,而不是#include
#ifndef __game_h__
#define __game_h__
#include
#include
#include
#include
#define rows 11
#define cols 11
#define row 9
#define col 9
#define count 10
void init(char arr[rows][cols],int rows, int cols, const char ch);
void setmine(char str[rows][cols], int rows, int cols, int cot);
void display(char str[rows][cols], int rows, int cols);
int searchmind(char str[rows][cols], int* x, int* y, int rows, int cols);
#endif
接下來是最重要的部分也是該遊戲的核心部分遊戲函式檔案game.c
#include "game.h"
void init(char arr[rows][cols], int rows, int cols, const char ch)
}}//隨機埋雷 setmine()
void setmine(char
str[rows][cols], int rows, int cols, int cot)
}}//顯示棋盤 display()
void display(char
str[rows][cols], int rows, int cols)
printf("\n");
for (i = 1; i <=rows; i++)
printf("\n");
}}//輸入座標,判斷周圍的雷數,並回饋數字,為0時遞迴searchmine()
int searchmind(char
str[rows][cols], int* x, int* y, int rows,int cols)
number = str[*x - 1][*y - 1] + str[*x - 1][*y] + str[*x - 1][*y + 1]
+ str[*x][*y - 1] + str[*x][*y + 1]
+ str[*x + 1][*y - 1] + str[*x + 1][*y] + str[*x + 1][*y + 1] - 8 * '0';
//if (number == 0)
////遞迴
return number;
}//判斷輸贏 distinguish()
C語言 掃雷
做乙個掃雷的遊戲,首先分析一下掃雷需要實現的功能 1.選擇乙個位置,如果該位置是雷則結束遊戲,並顯示所有雷的位置。如果不是雷則顯示該位置周圍雷的數量。2.如果周圍沒有雷,則該位置顯示空,並且周圍如果也為空則一併展開。3.第一次選擇時必定不是雷 4.當盤上剩餘的位置只有雷了,則遊戲也結束,並且玩家勝利...
掃雷(C語言)
1 第一次下子,不炸死。2 座標周圍沒雷,可以實現展開。標頭檔案 mine.h ifndef mine h define mine h include include include include define row 12 define col 12 define mine 20 void me...
C語言 掃雷
game.h ifndef game h define game h define crt secure no warnings 1 include include include include define easy count 10 define row 9 define col 9 defi...