课后作业2:个人项目(贪吃蛇游戏改进)
基本信息
**1) 博客开头给出自己的基本信息** 2017*****7239; 姓名:王和旋; 我的码云贪吃蛇项目仓库:[https://gitee.com/KONG520/sesnake/](https://gitee.com/KONG520/sesnake/)任务估算时间表
**2) 给出你的各项任务完成时间估算与实际消耗时间表)**PSP个体软件过程或个人开发流程 | 我的估计 | 实际情况 |
---|---|---|
计划 | 10min | 20min |
• 估计这个任务需要多长时间 | 10min | 20min |
开发 | 175min | 265min |
• 分析需求 | 10min | 10min |
• 生成设计文档 | 10min | 5min |
• 设计复审 | 5min | 5min |
• 代码规范 | 10min | 5min |
• 具体设计 | 30min | 20min |
• 具体编码 | 90min | 180min |
• 代码复审 | 10min | 20min |
• 测试(包括自测,修改代码,提交修改) | 10min | 20min |
记录用时 | 10min | 10min |
测试报告 | 10min | 5min |
计算工作量 | 10min | 10min |
事后总结 | 30min | 30min |
提出过程改进计划 | 10min | 10min |
改进设计
**3) 给出你对该游戏改进的基本想法的文字描述以及你对需求的分析和设计** 改进想法: 1.修改游戏名为"贪吃蛇" 2.将分数改为中文并移到右侧 3.只保留游戏的上边框,左下右侧的边框删除 4.改变游戏的UI界面配色 5.给游戏界面添加网格线使游戏操作更简单 6.游戏死亡时增加游戏说明(按R重新开始游戏) 7.增加游戏开始界面 8.添加游戏BGM音乐特效,如背景音乐,吃食物音效和死亡音效 9.增加贪吃蛇移动速度调节功能 需求分析与设计: 1.直接将设置游戏标题的参数"贪吃蛇游戏"改为"贪吃蛇" 2.将分数参数"score"改为中文"分数",并改变坐标 3.去掉界面绘制的左,下,上代码 4.调整合适的UI颜色,如:背景灰色,上边框深灰色和贪吃蛇颜色变化 5.在绘制背景处添加绘制横纵网格线函数 6.在游戏结束函数显示"Game Over"处添加按R键重新开始提示 7.增加布尔变量判断游戏是否开始,用键盘按下R事件控制变量改变,在未开始时绘制游戏初始界面(如游戏说明,介绍等),当事件触发开始游戏 8.寻找合适的音效素材添加给游戏背景音乐,吃食物,死亡等特效 9.设置两个键盘监听事件,控制游戏绘制的刷新速率,来控制贪吃蛇的移动速度任务过程
**4) 给出你的具体设计的文字描述以及此次任务的代码量(行),提交(commit)次数,推送(push)次数** 源文件中有230行代码,经过一些UI的删除和改进以及功能的添加完成后有280行,改进的代码量大约有80行; 提交(commit)了20次,推送(push)了13次;测试报告
**5) 给出你对你所添加的功能或者特性的功能测试报告。请给出测试清单,哪些功能,预期结果是什么,测试结果是什么。** **功能测试报告清单**添加功能 | 预期结果 | 测试结果 |
---|---|---|
修改游戏名 贪吃蛇 | 标题变为"贪吃蛇" | 标题变为"贪吃蛇" |
翻译“score”并移到右侧 | 右上角显示"分数" | 右上角显示"分数" |
删除左,右上的边框 | 只保留上边框 | 只保留上边框 |
完善UI配色 | 背景灰色,上边框深灰色 | 背景灰色,上边框深灰色 |
添加界面网格线 | 界面呈现网格 | 界面呈现网格 |
增加Game over时分数显示和按R重新开始提示 | 当游戏Game over时显示分数和按R重新开始提示 | 当游戏Game over时显示分数和按R重新开始提示 |
增加开始游戏界面说明 | 游戏开始出现游戏说明界面 | 游戏开始出现游戏说明界面 |
添加游戏BGM和音乐特效 | 游戏有背景音效,吃食物和死亡音效 | 游戏有背景音效,吃食物和死亡音效 |
增加速度调节功能 | 按2/8键可以调节贪吃蛇移动速度 | 按2/8键可以调节贪吃蛇移动速度 |
演示视频
**6) 录制一个演示视频,演示你新增的功能和特性,将该视频上传到优酷之类的视频平台,将视频链接给出,建议视频不要超过3分钟。** 视频链接:[https://www.bilibili.com/video/av46856957](https://www.bilibili.com/video/av46856957) 由于设备原因,视频音效是后添加的,实际运行是有背景,吃食物,死亡音效的,大家有兴趣可以去copy我的源码.中间速度有变化是我手动按键调节的.总结反思
**7) 给出你对此次任务的总结与反思。** 之前学习过Git,但有点忘了,再加上没有很好的分配计划,导致编码时间增加了许多,下次做项目要好好计划 pygame模块在之前Python课程学习过,虽然方法都忘了,但是查一下文档很快就能看懂,所以软件编程不是要死记硬背各种方法属性,而是学会使用方法,需要的时候再去调用查阅 **过程改进计划:** 在设计开始界面和绘制网格线的时候比较着急,没仔细读之前的代码,导致后续开发走了个弯路,以后在别人的程序上进行二次开发要细心读原代码推送记录
**附:push list" ![](https://img2018.cnblogs.com/blog/1329194/201903/1329194-20190321084334503-909820377.png) ![](https://img2018.cnblogs.com/blog/1329194/201903/1329194-20190321084441034-156094013.png)作者:挑战风车的喵
个性签名:夜空中最亮的星, 请指引我前行!
如果觉得这篇文章对你有帮助的话, 记得在下面点个"推荐"哦~, 博主在此感谢!!!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.