基于WIN32 API实现黄金矿工游戏单人版

Firstsnow

发布日期: 2018-10-04 21:41:13 浏览量: 845
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

一、什么是设计文档

游戏类型是什么?游戏有哪些功能?相关数学公式是什么?

描述一个游戏的所有功能,这就是设计文档,也叫需求说明。真正的设计文档,并不是我写的这个样子,应该由策划来写(俗称“案子”)。我写的这篇,有流程图、有分类,条理清晰,基本上和真实代码完全对应,已经接近伪码了。

二、游戏状态图

三、游戏功能设计

1.开屏

  • 显示内容:

    程序启动后,显示初始化图片,计时结束,进入菜单界面。

  • 逻辑处理:

    控制图片从左至右显示。

2.菜单

  • 显示内容:

    显示菜单背景图片,显示“开始”按钮。

  • 逻辑处理:

    检测鼠标移动。当鼠标移动到按钮上,更改按钮图片。

    检测鼠标单击。当按下按钮后,初始化游戏数据,开始“地图加载”动画。

3. 地图加载动画

  • 显示内容:

    显示背景图片,进度条,显示当前关卡、目标金钱数量。

  • 逻辑处理:

    控制进度条移动。

4. 游戏中

  • 显示内容:

    显示人物图片,地面背景。

    显示当前金钱数量,目标金钱数量,剩余时间。

    显示叉子。

    显示金子、石头。

    显示炮的数量。

    显示爆炸动画。

  • 逻辑处理:

    控制叉子摆动,伸出,收回。

    检测按键“下”,按下后,叉子伸出。

    检测叉子是否碰到物品,碰到物品后,叉子收回,物品跟随叉子移动。

    当物品移动到地面位置,清除物品,增加金钱。

    胜负判断。

  • 道具使用:

    检测按键“上”,按下后,清除当前所抓物品,播放爆炸动画。

    判断玩家属性:如果有“体力”道具,增加叉子收回速度。

    判断玩家属性:如果有“魔法”道具,增加物品价值。

5.游戏过关

  • 显示内容:

    显示过关图片。

  • 逻辑处理:

    计时结束,进入“购买道具”状态。

6.购买道具

  • 显示内容:

    道具按钮:炮,体力,魔法。

    “下一关”按钮。

  • 逻辑处理:

    检测鼠标移动。当鼠标移动到按钮上,更改按钮图片。

    点击“炮”,增加炮的数量。

    点击“体力”,增加叉子收回速度。

    点击“魔法”,设置玩家属性:有魔法道具。

    点击“下一关”,加载地图,进入下一关游戏。

7.游戏失败

  • 显示内容:

    显示失败图片。

  • 逻辑处理:

    计时结束,进入“菜单”状态。

8.游戏通关

  • 显示内容:

    显示通关图片。

  • 逻辑处理:

    计时结束,进入“菜单”状态。

四、叉子坐标系统

叉子所在位置为坐标原点,所在位置垂线为X轴。向左摆动,旋转角度A大于0;向右摆动,旋转角度A小于0。其中,x,y是屏幕坐标系统。叉子坐标系统示意图:

五、碰撞检测

怎样检测叉子碰到了物品?在叉子端口处,设定一个圆形区域。如果这个圆与物品碰撞,则叉子碰到了物品。示意图如下:

其中,圆心坐标A(50, 0) ,半径14。

物品的检测范围也是圆形区域,示意图如下:

六、地图数据

物品属性表

ID 价值 名称 检测半径(像素) 移动速度(像素)
0 500 金子 32 4
1 150 金子 24 12
2 50 金子 16 20
3 15 石头 24 12
4 5 石头 16 20
5 600 钻石 16 20

地图物品数据

目前只制作了3张地图。

第一关地图,过关金钱数量:700

ID 横坐标 纵坐标
0 50 110
1 100 270
2 200 370
1 380 370
2 480 340
0 550 150
3 190 190
4 390 260
5 120 380

第二关,过关金钱数量:1000

ID 横坐标 纵坐标
1 50 110
4 100 270
2 200 370
3 380 370
4 480 340
5 450 400
0 550 150
1 190 190
2 390 260

第三关,过关金钱数量:2000

ID 横坐标 纵坐标
4 50 110
1 100 270
0 200 370
0 380 370
3 480 340
4 550 150
2 190 190
4 390 260
5 460 300

游戏截图

上传的附件 cloud_download 黄金矿工游戏-源码及设计文档.7z ( 804.85kb, 129次下载 )
error_outline 下载需要6点积分

发送私信

背负的太多,没等到击垮敌人,就先累死了自己

9
文章数
8
评论数
最近文章
eject