1 游戏简介

华容道是古老的中国智力游戏,由“曹操败走华容道,正与关公狭路逢。只为当初恩义重,放开金锁走蛟龙”这一故事情节引申而来。华容道有一个4*5的二十个方块构成的棋盘,下方边界中间有一个宽为2方格的出口,还包含1个2*2的大滑块代表曹操,5个2*1的滑块代表五虎上将,4个1*1的小滑块代表小兵。游戏的目的是利用棋盘中两个1*1的空格来移动所有滑块,不允许跨越棋子,设法用最少的步数,最终使最上方被包围的曹操从出口成功脱逃。我在保持“横刀立马阵型”的基础上美化了滑块的图案,借用了时下流行的游戏“阴阳师”这一主题,赋予这个古老游戏一个新的面貌。

2 程序功能

在Win32下以图形界面提供给用户游戏平台,游戏开始时,所有滑块的起始位置都是确定的,用户通过鼠标点击选中滑块,被选中的滑块会闪烁,鼠标点击空白处,滑块会移动到相应位置,每次只能移动一步。

3 设计思路

WIN32界面编程要点:

  • 主函数WinMain函数最重要的是注册窗口和创建窗口以及message的get、translate和dispatch
  • GamePaint函数运用window的GDI函数完成了核心步骤,即所有图像的绘制过程
  • CallBack回调函数则是从客户的所有操纵中接受信息并把它处理后反应为在游戏中的各步操作

用户操作方面包含数据表示和操作控制两个方面。

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/98.html

[源码和文档分享]基于WIN32 API界面编程实现的华容道小游戏相关推荐

  1. [源码和文档分享]基于WIN32 API界面编程实现的彩球滑梯小游戏

    一.游戏说明 1.1 玩法 游戏界面会生成不断上升的板子,玩家需要控制小球向下条约板子,使它不碰到上方陷阱. 1.2 游戏内容 两种球:轻球(生命2).重球(生命4) 5种板子:普通木板,移动石板.陷 ...

  2. [源码和文档分享]基于C#实现的RPG角色扮演类小游戏

    1 需求分析 1.1 游戏概述 DragonQuest是一个角色扮演类游戏(RPG),该游戏实现的具体功能是设计两种类型的人物,分别为被玩家所控制的玩家人物(Hero)和由系统所控制的外部人物(Ene ...

  3. 基于WIN32 API界面编程实现的华容道小游戏

    1 游戏简介 华容道是古老的中国智力游戏,由"曹操败走华容道,正与关公狭路逢.只为当初恩义重,放开金锁走蛟龙"这一故事情节引申而来.华容道有一个4*5的二十个方块构成的棋盘,下方边 ...

  4. [源码和文档分享]基于WIN32 API实现的超级玛丽游戏

    游戏中用到的类结构介绍 图像层 图像基类MYBITMAP 游戏背景MYBKSKY->MYBITMAP 游戏图片MYANIOBJ->MYBITMAP 魔法攻击MYANIMAGIC->M ...

  5. [源码和文档分享]基于WIN32 API实现黄金矿工游戏单人版

    三.游戏功能设计 1.开屏 显示内容: 程序启动后,显示初始化图片,计时结束,进入菜单界面. 逻辑处理: 控制图片从左至右显示. 2.菜单 显示内容: 显示菜单背景图片,显示"开始" ...

  6. [源码和文档分享]基于Win32 API实现的中国象棋游戏

    一.选题 在<实践:程序设计实践>中选中了"中国象棋"为最后作业的题目. 中国象棋是一种交互性的.在固定大小的棋盘上进行的游戏,具有一定的规则来约束棋子的行走规律,同时 ...

  7. python实训报告pygame_[源码和文档分享]基于Python的PyGame库实现的2048小游戏

    一.简介 2048的游戏规则很简单,每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方乱数出现一个数字方块,相同数字的方块在靠拢.相撞时会相 ...

  8. [源码和文档分享]基于VC++和OpenCV实现的全民飞机大战游戏

    摘要 功能:利用C++语言完成了一个小游戏项目-全民飞机大战,该游戏首先能够给用户提供注册,登录功能:提供了菜单栏及两种游戏模式,一种是无尽模式,另一种是一般模式:一般模式中用户通过控制玩家飞机攻击敌 ...

  9. java记事本技术参数_[源码和文档分享]基于JAVA的记事本

    一.绪论 现如今,电脑已经成为了每家每户甚至是每个人手头都必有的一种实用性工具,它改变了人们的生活,大大提高了人们的工作效率.在此基础上,电脑端的记事本应用一直是每台电脑所必备的实用性应用,不管是在台 ...

最新文章

  1. 数据结构与算法分析——C语言描述
  2. Linux大文件处理,伪分区
  3. python培训班价格-成都Python课程
  4. Java8新特性Optional、接口中的默认方法与静态方法
  5. 使用TestContainers进行数据库测试
  6. 整样运用计算机考试,2017年9月计算机二级考试《MS Office高级应用》上机操作题(2)...
  7. JEECG企业微云快速二次开发平台-新版本首页展示
  8. 升级到Oracle 19c:你不可不知的十大SQL问题(上)
  9. 折纸机器人的步骤图解_折纸图解公牛
  10. SVM分类器(matlab)
  11. 8音度dsp调音教程_特伦诗DSP电脑调音教程 8音度DSP调音软件使用认知连载一
  12. 英语常见词根词缀大全(一)
  13. ie select option css,ie浏览器不支持select option italic
  14. 2台计算机网线连接无法ping通,两台电脑PING不通怎么办?
  15. windows server2012搭建邮箱服务器+客户端界面(hmailserver+afterlogic)+批量创建邮箱
  16. 工作感想——离开公司
  17. html自动获取图片,html img动态读取图片
  18. 可爱又能干的小精灵—送餐机器人来啦
  19. Tapd+腾讯工蜂+Jenkins持续部署
  20. python系统编程培训

热门文章

  1. 干货 | 80篇+网络安全面试经验帖
  2. 我们已经走得太远,忘记了为什么出发
  3. 百度快照被劫持跳转到博彩网站 终极解决办法
  4. day15笔记:抽象类和抽象类方法、接口、内部类
  5. lqc_selinux的安全控制
  6. 记录--Openlayers 高德腾讯、百度、天地图坐标相互转换
  7. 做题记录uva1626
  8. linux分屏命令,Linux中如何分屏显示的指令是什么
  9. matlab中关于fix(x),floor(x),ceil(x)的区别
  10. 中文分词评价指标——正确率、召回率和F1