应 @姑娘的衣扣 同学的要求,分享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.代码优化。

做游戏,学编程(C语言) 20 扫雷相关推荐

  1. 视频教程-做游戏学Python-Python语言快速入门-Python

    做游戏学Python-Python语言快速入门 20年软件项目开发管理经验 工信部人才交流中心特聘专家讲师 日本U-CAN在线教育特聘主任讲师 国家十二·五规划软件工程教材作者(书:清华大学出版社出版 ...

  2. 教孩子学编程 python语言版_教孩子学编程 PYTHON语言版 PDF_IT教程网

    资源名称:教孩子学编程 PYTHON语言版 PDF 资源目录: 第1章Python基础--认识环境1 1.1认识Python3 1.2用Python编写程序5 1.3运行Python程序5 1.4本章 ...

  3. python教孩子学编程,教孩子学编程(Python语言版)

    教孩子学编程(Python语言版) 第1 章 Python 基础:认识环境 #NiceHexSpiral.py #运行后,挺奇特,整个作画过程,完全呈现. import turtle colors=[ ...

  4. 但凡原神有二十树脂,我也不会来学编程(c语言)

    但凡原神有二十树脂,我也不会来学编程(c语言)<第一天> 编程小白一只,从今天开始,将在本专栏记录本人学习编程的过程与心得~来自甘肃,普通双非,由于地域影响,想要在计算机方面得到好的出路, ...

  5. 少儿编程python线上课程-少儿编程课堂|python – 用游戏学编程

    学习编程是很快乐的事情.当我们自己开发出一套时下流行的游戏时,这满满的成就感比玩儿游戏本身高出了不知道会有多少倍. 接下来一段时间我们就python从0开始学习怎么开发 flappy brid 游戏. ...

  6. python编程少儿游戏编程_少儿编程课堂|python – 用游戏学编程

    学习编程是很快乐的事情.当我们自己开发出一套时下流行的游戏时,这满满的成就感比玩儿游戏本身高出了不知道会有多少倍. 接下来一段时间我们就python从0开始学习怎么开发 flappy brid 游戏. ...

  7. 优的python少儿编程课_少儿编程课堂|python – 用游戏学编程

    学习编程是很快乐的事情.当我们自己开发出一套时下流行的游戏时,这满满的成就感比玩儿游戏本身高出了不知道会有多少倍. 接下来一段时间我们就python从0开始学习怎么开发 flappy brid 游戏. ...

  8. c语言程序设计扫雷游戏实验报告,C语言程序设计扫雷游戏实验报告.doc

    C语言程序设计扫雷游戏实验报告 中南大学 程序设计基础实践报告 题 目 设计一个和window系统类似的小游戏[挖地雷] 学生姓名 张兰兰 学 院 信息科学与工程学院 专业班级 物联网工程1301班 ...

  9. 学编程c语言高考能加分吗,学好编程,中高考都能加分,还能保送清华北大!...

    原标题:学好编程,中高考都能加分,还能保送清华北大! 前段时间,我跟一位母亲聊起现在的中考.高考,她大是不以为然,为什么?这位母亲跟我诉苦,说她家老大上半年备战中考,每天都早起晚睡地复习,全家都跟着一 ...

  10. c语言编写扫雷小游戏下载大全,C语言实现扫雷小游戏

    本文实例为大家分享了C语言实现扫雷游戏的具体代码,供大家参考,具体内容如下 主函数:main.c #include "game.h" void Menu() { printf(&q ...

最新文章

  1. SQL优化常用方法36
  2. 协议森林06 瑞士军刀 (ICMP协议)
  3. 读书笔记----10日摘抄整理(01)
  4. 微软投资混合连接,发布本地数据网关
  5. asp.net mvc4 设置build项目时,编译view页面
  6. 使用 Async / Await 来编写简明的异步代码
  7. Hibernate 注解方式
  8. OfficeExcel(5)
  9. asp.net MVC使用treegrid——jqwidgets插件
  10. DTOJ 2746. 皇后游戏(game)
  11. python代码手机壁纸_Python制作微信好友背景墙教程(附完整代码)
  12. 荣耀路由2 虚拟服务器,华为荣耀路由器2怎么设置? | 192路由网
  13. JavaScript去除数组重复的元素且都不保留
  14. 移植tslib后,运行报错 Couldnt load module linear
  15. 【C/C++】学前必看知识概览
  16. 4 支付宝手机网站支付demo讲解
  17. 一般计算机电源都在什么服务,工控服务器电源与普通电脑电源的区别
  18. HTML5期末大作业:旅游景区网站设计——绿色古典旅游景区(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品
  19. stata读入dta文件时出现乱码怎么办?
  20. DL知识拾贝(Pytorch)(六):信息流的传播和训练的稳定性

热门文章

  1. ~~二维差分(附模板题)
  2. C++中的getline函数
  3. C源程序括号匹配检查(C语言)
  4. Unable to find vcvarsall.bat
  5. 敏捷外包工程系列之一:序言(敏捷外包工程,敏捷开发,CMMI,软件外包,政府项目,银行项目,电信项目)...
  6. 【原】Docker学习_安装篇(一)
  7. Leetcode 440.字典序第k小的数字
  8. Leetcode461Hamming Distance汉明距离
  9. Linux GCC GDB 第一节
  10. javascript中级--运动二