/*扫雷游戏*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<easyx.h>
#include<mmsystem.h>
#pragma comment(lib,"winmm.lib")
#define ROW 10//行的常量
#define COL 10//列的常量
#define MineNum 10//雷的数量
#define Width 400 //宽度
#define Hight 400 //高度
#define ImgSize 40 //图片的尺寸
IMAGE imgs[12];
bool isfirst = true;//是不是 第一次进来
//设置地图的雷数
void init(int map[][COL]);
//打印地图
void drawmap(int map[][COL]);
//周围+1
void judge(int map[][COL]);
//加载资源
void loadResource();
//绘制
void draw(int map[][COL]);
//鼠标判断
void Mouse_judge(int map[][COL]);
//鼠标操作
void Mouse_msg(ExMessage* msg, int map[][COL]);
//点击空白格子旁边炸开 row col 是当前点击的格子的下标
void boomBlank(int map[][COL], int row, int col);
//游戏结束判断
int game_judge(int map[][COL], int row, int col);
int main()
{
int map[ROW][COL] = {
0};
initgraph(Width, Hight,1);
//播放开始音乐
mciSendString("open ./image/star.mp3 alias bgm1", NULL, 0, NULL);
mciSendString("play bgm1", NULL, 0, NULL);
init(map);
draw(map);
while (1)
{
Mouse_judge(map);
draw(map);
}
return 0;
}
//基础设置
//设置地图的雷数
void init(int map[][COL])
{
loadResource();
//随机数种子
srand((unsigned int)time(NULL));
//把map全部实话为0
memset(map, 0, sizeof(int)*ROW*COL);
//随机设置十个雷 用-1表示
for (int i = 0; i < MineNum;)
{
//数组的有效下标[0],[9]
int r = rand(
C++语言的扫雷(图形化)
最新推荐文章于 2023-08-12 00:06:31 发布