c语言扫雷游戏计时功能_做游戏,学编程(C语言) 20 扫雷

应 @姑娘的衣扣 同学的要求,分享16级同学大一上学期实现的扫雷游戏。分步骤代码、可执行程序、录屏效果可以从百度网盘下载:http://pan.baidu.com/s/1gf6AHKv

开局画面:

胜利画面:

失败画面:

主要功能描述:

1.全局变量:时间基点,地图,图片资源,关键状态;

2.绘图初始化函数drawinit:载入图片资源;

3.设置器函数Setup:放置地雷;

4.主要显示函数Show:依照层次结构显示雷区;

5.队列处理函数duires:(核心算法)对无雷的输入进行扩展搜索,调用位置搜索函数辅助,调用响应函数输出;

6.位置搜索函数poi_sum:队列处理函数的辅助函数,将输入点的坐标周围八个格子的雷数返回给他;

7.响应函数do_null,not_null:随时处理队列处理函数的结果;

8.主控函数Control:接受鼠标的输入,处理简单的逻辑,复杂的交由队列处理函数执行;

9.计时器函数Time:计算累计时间,并显示;

10.胜利判定Judge:判断是否用户胜利;

11.主函数main:控制中心。

主要实现步骤:

1.明确游戏流程:包括重要的游戏规则和逻辑,如被旗帜标记的方块无法被点击等。

2.搭建游戏框架:采用老师的框架和重要模块分开编写,并定期整合的方式进行。

a.图片显示:一开始采用网上(贴吧)的资源,后来大部分利用办公软件制作。

b.核心算法:尝试了链表和结构体数组,都出错(溢出),多次调试后发现是由于标志原因,无法区别已经处理和未处理的模块;再次调试发现效率极低,检查后发现是一个位置的变量名使用了上一级循环的变量名。

c.程序调度。

3.添加额外模块:将一些不太重要的功能写成函数,加入调度。

a.计时器:利用了钟表程序的一部分代码,做了很多修改。

b.加亮显示:提醒用户鼠标指向的位置。

c.开局提示及重新开始。

4.代码优化。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值