软件工程第二次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253
这个作业的目标 利用 AIGC 工具实现羊了个羊风格小游戏的代码编写和图片设计
学号 102201235

1. 项目名称:猫了个鼠小游戏

github作业仓库链接:https://github.com/ikunzeng/maoshu

2.项目介绍

2.1 主界面


界面介绍:主界面的背景图为猫和老鼠背景图,有开始游戏,退出游戏,查看排行榜,开启/关闭bgm的选项。

2.2 游戏界面


游戏模式共有36张图片,规定用时30s内完成,并在完成游戏时,出现恭喜通关的界面,并记录游戏用时,在排行榜上排名。

2.3 结束界面

2.2.3.1 成功界面


游戏获胜后会弹出恭喜通关提示,同时记录用时到排行榜。

2.2.3.2 失败界面


游戏失败后会弹出提示且需要手动返回桌面,而且也会记录结果到排行榜

2.4 排行榜


排行榜能对游戏通关用时进行排序,用时越少排名越高,只记录前三名

2.5 项目细节

2.5.1游戏加载

2.3.2 游戏检查和重置

2.3.3 主游戏循环

3 项目测试

3.1 测试样例

3.2 测试结果

开始时游戏测试很顺利,能正确显示主菜单的开始游戏、查看排行榜、等功能,但是后面想加入困难模式,游戏总是闪退,找不到原因,最后放弃。

3.3 设计评价

1.可读性强:可以轻松阅读代码并根据需求进行功能的增删改
2.模块化一般:主要是集成性代码,容易在修改过程中对整个源码产生影响和bug
3.通过aigc在代码中增加了一些可以更改的空间

4 AIGC子任务表格

子任务 借助的AIGC技术,实现的功能 效果
解决匹配问题 chatgpt给出的check_match函数解决了匹配错误的问题。 完成
字体 chatgpt给出Microsoft YaHei UI字体来解决中文无法显示的问题。 完成
游戏状态重置 游戏结束时倒计时无法重置,并且重新开始游戏卡顿chatgpt给出reset_game_state函数。 完成
游戏排行榜读取 排行榜读取总是错误chatgpt给出load_leaderboard函数。 完成

5 PSP表格

任务阶段 预估耗时(hours) 实际耗时(hours)
项目需求分析 1 0.5
游戏框架搭建 3 3.5
图形和音效集成 3 1.5
具体功能实现 10 13
附加功能实现 3 5
调试与修改 3 5
编写博客文章 1 1

6 个人评价

6.1可取之处

1.代码结构清晰:代码按照功能划分成了多个函数,如 load_patterns, prepare_board, draw_board, check_match 等,这使得代码易于理解和维护。
2.代码使用常量:通过定义常量来管理游戏参数,例如 WIDTH, HEIGHT, TILE_SIZE_NORMAL, TILE_SIZE_HARD 等,这使得调整游戏设置变得更加容易。
3.个人进步:大大熟练了我对aigc工具的使用,熟悉了对pygame的使用,进一步拓展了我的知识面,让我亲身进行了小游戏的制作。

6.2不足之处

1.在游戏逻辑的实现过程中代码过于集中导致庞大不便维护
2.只实现了单层图片的消除方法,在尝试多层图片消除时由于bug不断且AI帮助有限最终放弃
3.对游戏的扩展失败导致玩法太少,趣味性不够

posted @ 2024-09-18 19:32  ikunzeng  阅读(8)  评论(0编辑  收藏  举报