2024秋软件工程个人作业(第二次)
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253 |
这个作业的目标 | 在AIGC工具帮助下开发类似“羊了个羊”的小游戏 |
学号 | 102201636 |
1.项目展示
2.项目介绍
2.1游戏界面
2.1.1初始界面
2.1.2设置界面(可以调节点击音效和背景音乐)
虽然背景音乐跟游戏风格不是很搭配,但是最近很喜欢听这首歌 hh (^_^)
2.1.3操作界面
2.1.4结束界面(失败和成功)
2.2部分代码
设置了游戏状态GameState,根据不同的游戏状态来展示不同界面
每一层图块总数为6*6=36,并保证12种图案的图块生成时是3的倍数(至少为3)来保证有解,同时不同图层的图块在生成中设置了偏移,这使得玩家能清楚的知道某个位置实时有几个图块
底部消除栏区域:实现三消以及超过7个图块仍未三消时结束游戏
2.3功能特点
1.可对点击音效和背景音乐进行设置
2.可多难度切换(挑战模式很难很难,我觉得羊了个羊爆火跟它第一关很简单,第二关很难这种机制有关,困难的关卡有时可以吸引玩家)
3.结束判断(包括倒计时和底部消除栏满两种情况)
3.测试用例
1.在开发“设置”按钮的时候settings_visible的值在鼠标长按时会被识别为多次点击,不断改变状态,导致设置页面展示不出来(本来代码是self.settings_visible = not self.settings_visible),后面修改了代码,后面在处理其他模块时也遇到了点击识别的问题,后面在AIGC帮助下,使用time延时处理来解决了。
2.图层点击渗透,导致一下点击选中了多个图块的问题也耗费了大量时间,后面在ai的帮助下实现了优化
3.本来开发了结束页面的广告复活功能,但是撤销逻辑一直有bug,调试了特别特别久还是解决不了,放弃了 (T_T)
4.AIGC表格
子任务 | 借助AIGC实现的功能 | 效果 |
---|---|---|
UI设计 | 生成界面图片,背景图片和方块图案 | 生成了较为满意的图片 |
图块的分层机制 | 实现了多个图层图块的生成和消除 | 多次调试后效果满意,节约了不少时间 |
设置界面的生成 | 实现对音量的开关与调节 | 对生成的代码debug后可以实现理想的效果 |
pygame框架使用 | 通过AIGC加快对pygame中常用和拓展功能的认识 | 做完这个小游戏后,已经基本熟悉pygame中的常用操作 |
5.PSP表格
PSP阶段 | 预估耗时(小时) | 实际耗时 (小时) |
---|---|---|
游戏计划 | 0.5 | 1 |
需求分析 | 1 | 1.5 |
设计 | 1 | 1 |
开发 | 7 | 9 |
测试 | 2 | 2.5 |
报告总结 | 0.5 | 0.5 |
总计 | 12 | 15.5 |
6.总结
这个假期大部分时间都在开发这个小游戏,这是我第一次开发小游戏,在AIGC的帮助下,算是顺利的完成了任务。虽然还有许多细节可以完善,许多功能可以添加,但我觉得完成效果还可以。(菜菜 T_T)通过这次开发,我的心得体会:1.游戏整体机制和模块分类是很重要的,如果可以事先决定好而不是在开发过程中更改,可以节省很多时间。2.文件分类定义需要清晰,这次我是让ChatGPT帮我打架构的,但在开发过程中,我觉得我的文件分类过于复杂,涉及多次的导入,我的游戏有点卡可能跟此有关。3.AIGC工具的帮助可以提高编程开发的效率。