Firstsnow
游戏类型是什么?游戏有哪些功能?相关数学公式是什么?
描述一个游戏的所有功能,这就是设计文档,也叫需求说明。真正的设计文档,并不是我写的这个样子,应该由策划来写(俗称“案子”)。我写的这篇,有流程图、有分类,条理清晰,基本上和真实代码完全对应,已经接近伪码了。
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 |
keyboard_arrow_left上一篇 : 基于Qt实现的AI同化棋游戏 基于python的自动续借图书集 : 下一篇keyboard_arrow_right