龙空技术网

扫雷小游戏制作教程(4)

终于削了皮的茄子 56

前言:

现时姐妹们对“扫雷小游戏课程设计”大概比较关注,同学们都需要学习一些“扫雷小游戏课程设计”的相关资讯。那么小编在网络上收集了一些关于“扫雷小游戏课程设计””的相关内容,希望你们能喜欢,看官们一起来了解一下吧!

显示数字

当格子点开后,应当显示周围的地雷数,或者显示地雷:

如果格子状态为点击了,那么就显示num。

现在我们让数字显示在格子中间:

font表里的getWidth(text),getHeight()函数用来获取文本的宽高,getWidth需要一个参数,getHeight不需要。

现在修改一下点击后的格子颜色,我们定义一个clickedColor,存储点击后的颜色:

之后在更新函数中,判断状态,并且修改颜色:

这样点开格子后,就会变成白色:

当周围地雷数量为0时,应该打开周围的格子,如此递归下去,定义一个click函数:

然后在love.mousepressed中调用。

现在,让我们把数字0的格子上的数字去掉:

现在地雷的效果和普通打开的格子还是一样的:

让我们把地雷改为红色:

这样就友好多了。

游戏失败

如果点中地雷,则游戏失败,我们定义一个gameover变量,判断游戏是否失败:

在love.mousepressed函数中,如果碰到了地雷,就让gameover为true:

当gameover为true时,游戏不应该继续进行下去,所以我们在鼠标回调函数中继续判断:

这样游戏失败后我们就不能继续点击了。

重置游戏

当游戏失败时,我们提供一个重置功能,当空格键按下时,我们重置游戏:

游戏胜利

当场上除了地雷的格子都打开后,游戏胜利,这里我们就不做特殊效果了,只输出yes,首先定义一个count变量,用来记录当前打开的格子数:

之后遍历格子,如果格子状态为打开,就count++:

当场上打开的格子数等于总格子数减去地雷数时,那么游戏胜利:

我这里修改了地雷数为2,为了方便。可以看到终端输出了yes。

如果你喜欢本教程请关注,转发,如果你有疑问欢迎来评论区评论。

标签: #扫雷小游戏课程设计