学习参考:
该贪吃蛇项目完全参照b站教学视频复现,并再次默写了一遍。
技术难点:
- 蛇身的添加和移动
- 食物的随机位置生成
- 蛇吃食物以及食物的随机生成
- 蛇的增长
- 蛇头和身体的碰撞判断
项目的WBS表格:
一级功能 | 二级功能 | 三级功能 | 预计完成时间 | 实际完成时间 |
蛇的移动 | 移动方式 | 键盘控制 | 60min | 77min |
移动速度 | 随关卡变化 | 60min | 17min | |
食物生成 | 生成位置 | 随机位置生成 | 60min | 27min |
蛇吃食物 | 获取食物判断 | 60min | 2min | |
触发事件 | 蛇身增长 | 120min | 139min | |
生成新食物 | 30min | 7min | ||
游戏失败 | 失败判断 | 蛇头蛇身碰撞判断 | 120min | 283min |
分数统计 | 60min | 11min | ||
关卡设计 | 60min | 21min |
游戏的所有功能:
窗体绘制、网格的绘制、游戏物体父类的编写、游戏工具类的创建、蛇头部的绘制、蛇头简单移动、键盘控制蛇的方向、蛇头消失后从窗体另一边出现、蛇身的添加和移动、食物的随机位置生成、蛇吃食物以及食物的随机生成、蛇的增长、计分面板的编写、绘制提示语、键盘控制游戏开始暂停和继续、游戏通关的判定、蛇头和身体的碰撞判断、游戏失败后的重新开始、游戏关卡的设置
贪吃蛇PSP:
分类 | 开始时间 | 结束时间 | 中断事件/min(s) | Δ/min(s) | 任务内容/描述 |
Coding | 11.10 20:22 | 11.10 20:56 | 3 | 31 | 写出了贪吃蛇窗体,绘制了网格 |
Coding | 11.11 16:30 | 11.11 16:58 | 1 | 27 | 创建了游戏物体父类以及游戏工具类 |
Coding | 11.11 17:16 | 11.11 17:57 | 3 | 28 | 绘制蛇头 |
Coding | 11.11 20:03 | 11.11 20:16 | 0 | 13 | 蛇头动起来 |
Coding | 11.11 20:17 | 11.11 20:56 | 3 | 36 | 通过键盘控制蛇头方向 |
Coding | 11.14 20:37 | 11.14 20:55 | 2 | 16 | 蛇头从窗体一边消失从另一边出现 |
Coding | 11.15 19:07 | 11.15 19:38 | 2 | 29 | 蛇身的添加和移动 |
Coding | 11.15 19:43 | 11.15 21:14 | 5 | 86 | 蛇身增长(未做完) |
Coding | 11.16 10:16 | 11.16 11:14 | 5 | 53 | 蛇身增长 |
Coding | 11.16 19:16 | 11.16 20:12 | 5 | 51 | 蛇头和蛇身的碰撞,游戏失败(未做完) |
Coding | 11.16 20:20 | 11.16 21:14 | 4 | 50 | 蛇头和蛇身的碰撞,游戏失败(未做完) |
Coding | 11.18 10:31 | 11.18 11:23 | 5 | 52 | 蛇头和蛇身的碰撞,游戏失败(未做完) |
Coding | 11.18 14:41 | 11.18 16:04 | 4 | 79 | 蛇头和蛇身的碰撞,游戏失败(未做完) |
Coding | 11.18 20:11 | 11.18 21:02 | 2 | 51 | 蛇头和蛇身的碰撞,游戏失败 |
Coding | 11.20 19:15 | 11.20 19:42 | 5 | 27 | 食物的随机生成 |
Coding | 11.20 19:55 | 11.20 20:03 | 1 | 7 | 蛇吃食物,食物消失后食物再次生成 |
Coding | 11.20 20:05 | 11.20 20:07 | 0 | 2 | 蛇吃食物,触发身体增长 |
Coding | 11.20 20:21 | 11.20 20:33 | 1 | 11 | 计分面板的实现 |
Coding | 11.20 20:50 | 11.20 21:11 | 3 | 18 | 游戏通关 |
Coding | 11.21 17:22 | 11.21 17:50 | 1 | 27 | 游戏失败后重启 |
Coding | 11.21 18:09 | 11.21 18:32 | 2 | 21 | 游戏关卡的设置 |
Coding | 11.21 18:45 | 11.21 19:03 | 1 | 17 | 蛇移动速度随关卡变化 |