C语言与图形库结合实现扫雷游戏

扫雷游戏

这周查看其它扫雷游戏的代码加上自己的理解写出了扫雷游戏,在这里我分享一下自己的经验,希望对大家有所帮助。

一.这个扫雷游戏与我们传统的扫雷没有什么区别,主要模块有

1.载入图片,使用loadimage()函数实现;

2.数据初始化即把地图的格子初始化为空,使用随机数埋雷记得加上头文件#include<time.h>

随机数的实现:srand((unsigned)time(NULL));

埋雷的实现:

for (i = 0; i < Nbomb;)

{
x = rand() %Nbomb;
y = rand() %Nbomb;
if (map[y][x] != 10)
{
map[y][x] = 10;
i++;   //不浪费生成雷的个数
}

}

3.画图使用putimage(x左上角坐标,y左上角坐标,图片地址)

举例:画背景图片

putimage(0,0,&background);

4.计算格子周围的8个格子中地雷的数目

int lei_num(int x,int y,int num)
{
int sum;
int nx, ny;
int lei=10;
sum = 0;
for (nx = x - 1; nx <= x + 1; nx++)
{
for (ny = y - 1; ny <= y + 1; ny++)
{
if (map[ny][nx] == lei)
{
sum++;
}
}
}
return sum;

}

5.格子为空的话就显示空格子的图片

6.格子不为空的话就显示数字的图片

例如:

void not_null(int x, int y, int lei)
{
if (lei == 1)
{
map[y][x] = 11;
}
if (lei

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值