2024软工第二次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253
这个作业的目标 进一步学习软件工程,学会使用AIGC工具辅助设计小游戏
学号 102201420

1.项目展示

Github仓库链接:https://github.com/Clauede2233/homework

使用说明:

1.下载相关文件夹及main.py文件
2.其中pattern/sound/钉钉进步体是项目中使用的相关图片/声音/字体,项目中使用的都是免费可商用素材,请放心使用
3.下载好文件后,确保环境已安装相关库函数,修改main.py中文件路径,即可运行
4.免费可商用素材来源:阿里巴巴矢量图标网、爱给网等,通过egale资源社区可以快速获取

2.项目介绍

实现思路:

拓展内容 具体内容
名字 《作了个业》
实时计分 关卡等级、物种数量、时间等实时变化
图片排版 logo简洁有艺术感,可以预知下一张图片内容
奖励机制 随着关卡升级,会有时间奖励和仓库容量扩大奖励(特定关卡才有)
难度叠加 随着关卡升级,物种数量会越来越多,速度与激情!
无尽模式 基础关卡有17关,达到上限将进入无尽挑战,比拼最高分吧!
循环设置 游戏结束后,可以通过点击再来一次,再次开启挑战之旅
main.py 实现方法 具体功能
开始界面 main() 设置屏幕大小/更新屏幕
游戏界面 main1() 载入字体/设置大小
结束界面 main2() 控制文本、按钮等位置
点类 Point() 用于存储坐标
消除函数 judge() 判断是否消除图像
pygame 实现方法 具体功能
主界面 pygame.display 设置屏幕大小/更新屏幕
文本 pygame.font 载入字体/设置大小
布局 pygame.rect 控制文本、按钮等位置
音效 pygame.mixer.Sound 载入消除、结束音
图片 pygame.image 载入图片
操作 pygame.event 获取鼠标位置
调整 pygame.transform 平滑转化图片
其他 pygame.init()等 初始化操作等
素材 来源
编译工具 pycharm
图片 eagle资源社区、阿里巴巴矢量图标网
音效 爱给网、Zapsplat
字体 eagle资源社区、阿里巴巴钉钉进步体
AIGC AIchatOS、openAI、文心一言等

3.测试

游戏测试

转为gif格式,视频会出现些微卡顿现象,实际效果流畅:

开始界面:

点击“开始游戏”即可载入游戏

游戏界面说明:

文本 说明
关卡 总共17基础关,之后为无尽模式,每5分升级
当前分数 每消除3个相同色块+1,每5分升级
物种类型 提示目前可能出现的物种类型数目,初始为8,最多24种
剩余时间 实时变化,实际效果比gif流畅,每过一关奖励10秒,为0游戏结束
家园容量 初始为5,超过上限游戏结束,在特定关卡通过后增加
图案说明 只能点击大图案,小图案为预览下一个将出现物种

结束界面说明:

点击再来一次进行下一把,点击接受游戏关闭界面

测试结果评价:

基本满足设计要求,但仍有很多优化空间限于时间,之后可以进一步优化,以下是进一步的设想
1.增加按钮点击抖动功能
2.增加个性化鼠标
3.增加特俗道具,消除后可以解锁特殊功能
4.难度增加比较线性,可以增加多元性
5.设置菜单界面和本地存档功能
。。。。。。

4.AIGC表格

AI辅助子任务

子任务 AIGC技术 实现功能 效果如何
界面设计 AIchatOS 代码参考,基本框架构建 提供了较为简单的基础框架,方便进一步优化,但也存在一些小bug
按钮设计 AIchatOS 代码参考,基本框架构建 提供了pygame按钮设计的相关函数,经过简单修改可以正常使用
功能参考 OpenAI 代码参考,基本框架构建 提供了一些函数的相关设计思路,比如图像消除等,要实现个性化的复杂代码还需要进一步调试
素材参考 文心一言 提供图片、音效等免费素材来源 告诉了一些网站参考和相关途径,有一定参考价值
图片生成 Craiyon 文生图生成简单logo 在艺术和实用性上没有体现免费可商用素材的优越性,故舍弃

PS:在eagle资源社区有大量的AI生图网站参考,但基于AI文生图在版权问题仍然模糊,业界争仍有很大争议

AI生成表格

项目 内容
作业题目 开发“羊了个羊”小游戏
背景 随着AIGC降低开发成本,开发小游戏成本降低
主要收获 1. 学习了如何使用Pygame设计游戏界面。
2. 理解了图案生成与消除的基本逻辑。
3. 掌握了如何利用AIGC工具生成代码。
遇到的挑战 1. 实现图案的合理匹配与消除。
2. 设置倒计时机制和难度调整。
3. 确保代码结构清晰且可维护。
改进建议 1. 增强图案消除算法以提高游戏体验。
2. 添加更多关卡和挑战元素。
3. 改进界面设计以提高用户体验。

5.PSP表格

任务 描述 预估耗时 (小时) 实际耗时 (小时) 差异 (小时) 备注
游戏界面设计 使用Pygame或其他图形库设计主菜单、游戏界面和结束界面。 5 7 +2 界面设计比较简洁轻快,可以增加更多功能
图案生成与摆放 实现图案的生成和分层摆放逻辑。 3 2 -1 图案生成符合预期,较为合理
图案选择与消除逻辑 实现玩家点击选择图案并消除的逻辑。 4 2 -2 消除逻辑顺利实现,功能正常。
倒计时机制 设置倒计时功能,时间结束时游戏失败。 2 1 -1 倒计时机制实现得比较顺利。
难度设置 随机生成图案摆放顺序或设置不同的关卡增加难度。 3 2.5 -0.5 难度设置效果良好,但关卡设计还有很大提高空间。
使用AIGC工具生成代码 利用OpenAI等工具生成部分代码。 2 3 +1 代码生成较为准确,注释清晰。但仍需要人为调整修正
代码测试与调试 测试游戏功能并修复可能的bug。 5 7 +2 测试过程中发现了一些意外的bug,通过修复得以解决
文档编写与注释 编写代码注释和项目文档。 2 3 +1 文档编写比较顺利,注释完整。
posted @ 2024-09-16 21:18  102201420林传昊  阅读(76)  评论(0编辑  收藏  举报