这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253 |
这个作业的目标 | 熟悉并利用AIGC开发较为简单的小游戏 |
学号 | 102202104 |
项目介绍:https://github.com/543455918/ylgy_game_demo
代码所在master分支:https://github.com/543455918/ylgy_game_demo/tree/master
- 游戏功能实现
1.1 界面设计
本游戏使用 Pygame 实现了以下界面:
主菜单:提供游戏难度选择和退出选项,界面简洁清晰。
游戏界面:实现了图案的分层摆放,玩家可以点击图案进行消除,选中的图案会有高亮显示,图案消除后也会更新状态。
结束界面:当游戏结束时(所有图案被消除或时间耗尽),展示相应的结束信息,并提供退出选项。
1.2 游戏逻辑
图案生成与分层摆放:随机生成图案,并按照层次放置,图案的生成数量是合理的,确保图案能够合理匹配和消除。(不同颜色的框用于标识不同层次的图案和是否当前选中,两个相同图案即可消除)
点击与消除机制:玩家通过点击两个相同的图案来进行消除,若图案没有被其他图案遮挡即可点击。
游戏结束:当所有图案被成功消除,或倒计时结束时,游戏判定结束。
倒计时机制:设定了 360 秒的倒计时,倒计时结束时游戏判定为失败。
难度设置:玩家可以在主菜单选择不同的难度,每个难度对应不同层数的图案,简单模式 2 层,中等模式 3 层,困难模式 4 层。
-
代码要求
2.1 代码结构
使用 GitHub Copilot 辅助生成部分代码:在游戏逻辑的实现过程中,使用了 GitHub Copilot 自动补全了约 70% 的代码,特别是在函数定义和生成逻辑上,提供了代码建议。
代码规范性:代码结构清晰,充分使用了注释来解释各个函数的功能,提升了代码的可读性。 -
结合 AIGC
3.1 利用 AIGC 工具
在开发过程中,使用了 GitHub Copilot 生成部分代码,特别是在函数定义、代码补全、参数补全等方面。
Copilot 生成逻辑代码:例如图案生成、图案消除逻辑,提供了合理的代码建议。
函数自动补全:根据函数名称和注释,Copilot 能够快速生成基础逻辑,极大提升了开发效率。
3.2 AIGC 表格任务
子任务 | 使用的 AIGC 技术 | 实现的功能 | 效果如何 |
---|---|---|---|
图案生成与摆放 | GitHub Copilot | 生成图案的分层和摆放逻辑 | 自动生成的代码效率提升 |
消除逻辑 | GitHub Copilot | 实现点击两个相同图案时的消除判断 | 提供了初步思路,但需改进 |
倒计时功能 | Copilot 函数补全 | 实现倒计时机制 | 提供基础代码,效果良好 |
界面设计 | 通过手动编写配合部分自动生成逻辑 | 实现主菜单、游戏界面和结束界面 | 完全实现需求 |
3.3 AIGC 的优缺点
优点:在代码补全、函数生成上效率高,可以快速生成基础代码,提高开发速度。
缺点:在复杂逻辑处理和优化时,生成的代码需要手动调整和优化。
-
扩展功能
4.1 游戏难度
提供了三种难度模式:简单(2层)、中等(3层)和困难(4层),每种模式下图案的数量和层数不同。
4.2 提供退出功能
增加了退出按钮,玩家可以在主菜单和游戏结束时选择退出游戏。
4.3 可选扩展功能
可进一步扩展排行榜和道具功能,如提示和撤销操作,增加游戏的趣味性和挑战性。 -
AIGC 表格
5.1 使用 GitHub Copilot 的体验良好,在游戏开发过程中显著提高了代码编写效率,特别是在函数补全和基础逻辑生成方面提供了良好的支持。
5.2 PSP 表格
任务分解和时间估算:
PSP 阶段 | 预估耗时 | 实际耗时 | 任务内容 |
---|---|---|---|
计划 | 1 小时 | 1 小时 | 理解作业要求、设计游戏架构 |
设计与开发 | 4 小时 | 5 小时 | 编写游戏逻辑,集成 AIGC 工具完成基本功能 |
测试 | 2 小时 | 2 小时 | 测试游戏功能、修复错误 |
报告撰写 | 1 小时 | 1 小时 | 总结游戏开发过程、撰写项目报告 |
总结与分析 | 1 小时 | 1 小时 | 分析开发过程中的优缺点,提出优化建议 |
5.3 测试
测试结果满足程序需求
- 评判标准与总结
功能实现:已完成游戏的所有基础功能。
代码质量:代码结构清晰,注释完善,并使用了 AIGC 辅助生成部分代码。
扩展功能:实现了多种难度和退出功能,具备可扩展性。
游戏体验:游戏实际体验效果良好,游戏难度设置多层次合理,机制引人入胜,美工水平以简约风格为主。