这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 第二次作业要求 |
这个作业的目标 | 实现一个多层消除小游戏 |
学号 | 102202140 |
项目名称:GrapeWanted
一、项目展示
GitHub仓库链接:https://github.com/wuyuzi-web/The-Grape
二、项目介绍
前端设计
- 主菜单界面由AI生成背景图片,添加“GameStart”选项,点击后开始游戏。
2.结束页面由AI生成背景图片,添加“ReStart”和“Qiut”选项,点击后重新开始游戏或者关闭游戏界面。
3.由AI随机生成游戏图标
特殊设计
游戏过程中添加背景音乐和不同的点击音效,增加游戏沉浸感。
注:游戏中所有采用的音乐和音效皆是爱给网(https://www.aigei.com/)的免费商用素材
使用的技术和特殊算法
- pygame库:用于创建游戏窗口、处理事件、加载和显示图像、播放音效等。
2.随机算法:在pacerGame类中,使用random模块来随机选择图片和确定图片在网格中的位置。
3.事件处理:通过pygame的事件循环来处理用户的输入,如鼠标点击和键盘操作。
实现思路
首先初始化游戏环境,在main函数中初始化pygame,设置屏幕大小和标题,加载游戏所需的图片和音效文件。接着创建游戏实例pacerGame类,传入屏幕对象、音效、字体和图片路径。在pacerGame类的start方法中,通过一个循环来处理事件、更新游戏状态、绘制游戏界面,并在必要时结束游戏。接着设计一个匹配算法,当玩家选择两张图片时,通过比较它们的类型来判断是否匹配。如果匹配成功,随机播放正确音效增加得分并移除图片;如果不匹配,则播放错误音效。当所有图片都被正确匹配或时间耗尽时,显示游戏结束界面,并提供重新开始或退出游戏的选项。在游戏过程中实时更新得分和剩余时间,并在屏幕上显示。
三、测试
四、AIGC表格
子任务 | 借助何种AIGC技术,实现了什么功能 | 效果如何? |
---|---|---|
设计主菜单 | 网页AI,生成主菜单背景图片 | 使用时间超过预期,AI无法快速得出想要的图片 |
设计图标 | 网页AI,生成图标 | 使用时间超过预期,AI无法快速得出想要的图片 |
设计结束画面 | 网页AI,生成游戏结束背景图片 | 使用时间超过预期,AI无法快速得出想要的图片 |
设计游戏开始逻辑 | 网页AI,设计主菜单开始游戏的逻辑 | 达到预期 |
设计游戏结果判定 | 网页AI,判断游戏胜利或者失败,屏幕显示对应文本 | 达到预期 |
主逻辑 | 网页AI,判断程序代码是否符合逻辑 | 达到预期 |
游戏逻辑 | 网页AI,设计图片叠加逻辑和图片成对(即游戏可解)逻辑 | 达到预期 |
体会:因为我的copilot学生认证一直没下来,所以我主要使用chatgpt和kimi两种在线AI辅助编写代码。总体来说效果是不错的,但是沟通的效率很低,AI的代码也总是出错,需要调试的时间远超过设计代码的时间。
五、PSP表格
PSP | 预计耗时(小时) | 实际耗时(小时) |
---|---|---|
设计游戏界面 | 1 | 2 |
编写游戏逻辑代码 | 2 | 3 |
测试和调试 | 24 | 18 |
集成音效与图像资源 | 1 | 4 |
用户界面设计 | 1 | 3 |
代码 审查和优化 | 1 | 1.5 |
个人评价:
做得好的地方:
- 测试和调试:实际耗时比预估少,说明测试和调试过程高效,可能因为代码质量较高。
改进的地方:
- 游戏逻辑代码:实际耗时比预估多,可能是因为在开发过程中遇到了未预见的技术难题或需求变更。
- 用户界面设计:实际耗时比预估多,可能是因为设计过程中多次迭代和修改。
最终效果评价:
- 音效和图像资源集成得当,增强了游戏的沉浸感。但是逻辑过于简单,游戏模式单一,需要优化。