软件工程第二次作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253 |
这个作业的目标 | 利用 AIGC 工具实现羊了个羊风格小游戏的代码编写和图片设计 |
学号 | 102201234 |
1. 项目名称:打个蕉鲜小游戏
github作业仓库链接:https://github.com/jackyoung01/sheep
2.项目介绍
2.1 主界面
界面介绍:主界面的背景图为鲜牛奶背景图,左侧为积分排行榜,正中间为游戏难度选项按钮,分为简单模式和困难模式。简单模式为配对消除,困难模式为三消模式。且不同模式消除获得的积分也不同,排名按积分高到低进行排名,退出游戏直接关闭窗口即可
2.2 游戏界面
2.2.1 简单模式
简单模式共有24张图片,用时60s内完成,同时游戏内附有背景音乐及开关按钮,并实时记录当前积分
2.2.2 困难模式
简单模式共有36张图片,用时30s内完成,同时游戏内附有背景音乐及开关按钮,并实时记录当前积分
2.2.3 结束界面
2.2.3.1 成功界面
游戏获胜后会弹出提示并自动返回桌面同时记录结果到排行榜
2.2.3.2 失败界面
游戏失败后会弹出提示且需要手动返回桌面,而且也会记录结果到排行榜
2.3 项目细节
2.3.1 首页特点
通过绘制相关按钮来进行选择,并通过相关函数显示和记录排行榜
2.3.2 游戏音乐
实现了游戏内循环播放背景音乐以及音乐的开关功能按钮
2.3.3 难度实现
实现了不同难度的图片数量和时间控制
2.4功能特点
1.首页对玩家的游戏积分进行排名
2.有俩种模式可以选择,且俩种模式的玩法不同,所给的时间也不同
3 项目测试
3.1 测试样例
3.2 测试结果
测试结果表明游戏主界面显示正常,排行榜功能正常显示且积分正确排序,同时背景图、文本对象及位置均符合预期要求。
3.3 设计评价
1.可读性强:可以轻松阅读代码并根据需求进行功能的增删改
2.模块化一般:主要是集成性代码,容易在修改过程中对整个源码产生影响和bug
4 AIGC子任务表格
子任务 | 借助的AIGC技术,实现的功能 | 效果 |
---|---|---|
主界面设计 | 通过menu_state函数展示主页背景,并实现了难度选择和排行榜展示。 | 完成 |
难度选择 | 通过game_state函数进行难度设置,包括行数、列数和游戏持续时间。 | 完成 |
游戏结束界面 | 在游戏结束时显示弹出相关窗口,包过自动返回桌面和手动返回桌面及积分排行功能。 | 完成 |
游戏主循环 | 在游戏循环中处理鼠标点击事件、记录当前积分,以及显示游戏界面和剩余时间等功能。 | 完成 |
5 PSP表格
任务阶段 | 预估耗时(hours) | 实际耗时(hours) |
---|---|---|
项目需求分析 | 1 | 0.75 |
游戏框架搭建 | 3 | 3.5 |
图形和音效集成 | 3 | 1.5 |
具体功能实现 | 10 | 12 |
附加功能实现 | 3 | 4 |
调试与修改 | 3 | 3.5 |
编写博客文章 | 1 | 1 |
6 个人评价
6.1可取之处
1.在编写框架的过程中合理安排游戏的图文形象以及相关玩法
2.在功能实现过程中合理编写调用相关函数,使得其尽量模块化,便于不同功能的开发和修改
6.2不足之处
1.在游戏逻辑的实现过程中代码过于集中导致庞大不便维护
2.测试次数较少导致一些bug不能及时发现导致后期修改维护较为困难
3.只实现了单层图片的消除方法,在尝试多层图片消除时由于bug不断且AI帮助有限最终放弃