软件工程第二次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253
这个作业的目标 开发一个类似羊了个羊的游戏,学习pygame,提升编程能力,学会运用AIGC工具辅助写代码
学号 112200629

项目展示

源代码及图片已上传到github:
https://github.com/Actung10/Actung10/tree/homework2

项目介绍

前端设计

1.图案素材

均由文生图工具Craiyon生成,展示如下:


2.游戏界面

制作了主菜单界面、难度选择界面、游戏界面、说明界面、排行榜界面、胜利界面、失败界面。

(1)主菜单界面

包含开始游戏、说明、排行榜三个按钮。点击相应按钮跳出相应界面

(2)说明界面

显示游戏相关说明

(3)排行榜界面

按通过关卡数量大小进行排序,若通关关卡数量相同,则难度高的排名靠前。最多显示前五名。

(4)难度选择界面

有简单、普通、困难三个按钮,点击相应按钮进入相应难度模式。后面会具体介绍难度设计。

(5)游戏界面

每层图片略微有些偏移,有点层次感,但不偏移太多,使得玩家难以得知某张图片下还有几层,增加游戏的趣味性和挑战性。

(6)胜利界面

通过某关后显示的界面。

(7)失败界面

某关未通过时显示的界面。

游戏设计与算法介绍

1.游戏玩法

与羊了个羊基本相同。点击图片会到下方的选择区,选择区中有三张相同的图片时会自动消除。消除玩所有图片后胜利。无关卡数量上限。

2.撤销功能

在游戏中按Ctrl+C或撤销键撤回上步操作。可以无限次撤销。思路就是用两个列表分别保存每一步操作和每次选择区的状态。每次撤销时则取出两个列表的最后一个元素恢复状态,并将它们从两个列表中删去。

3.难度设计

游戏有三个难度,简单、普通和困难。简单难度下,图片有三层。普通难度下,图片有四层、困难难度下,图片有五层。不同难度倒计时的时间不同。
无论选择哪个难度,不同关卡难度亦有区别。前两关一定有办法通过,后面的关卡则有20%的概率一定有办法通过,有80%的概率是随机,不一定能通过。采用随机数的办法实现。代码如下:

4.倒计时功能

实现了倒计时功能,倒计时结束后图片未消完则游戏失败。

5.排行榜

使用排序算法实现。

6.一键通关

点击通关键或按下Ctrl+Z直接通过当前关卡,跳到胜利界面。

7.其他

将整个游戏封装成了一个类。使用了pygame.transform.scale来调整图片大小,使用pygame.MOUSEBUTTONDOWN来捕捉鼠标事件,pygame.KEYDOWN来捕捉键盘事件等。

测试样例

下面的gif展示了选择难度后进入游戏界面,以及图片的消除、多次撤销功能,包含了撤回的几种情况,测试均能通过。

AIGC表格

(1)AI辅助子任务

子任务 借助何种AIGC技术,实现了什么功能 效果如何?
图片生成 用Craiyon生成相关图片 生成的图片还算不错,可以使用
界面设计 用kimi生成代码 效果挺好,只需微调一些位置即可
按钮功能 用kimi生成代码 效果挺好
排行榜 用kimi辅助完成 效果较好,实现了功能
撤回功能 基本上自行完成,有用kimi辅助 帮助我完成了撤回功能的设计

评价:AI比较适合一些如调用pygame的一些功能、界面设计这种需求明确的任务,或者诸如写排序算法这样已有较为成熟的算法的任务,以及提供一些帮助和辅助,可以节省时间、提高效率。对于一些涉及到具体的复杂逻辑和细节的任务,大体上还是需要人类完成大部分工作,AI可以起到辅助作用。

(2)学习内容和心得体会

学习内容 我的收获
使用文生图工具制作图片 运用AIGC工具进行辅助,提高效率
pygame相关知识 理解了pygame库的基本概念和用法,能够用于游戏开发
游戏设计 对如何规划和构建游戏的基本框架有了一定的了解
难度设计 能够根据需要设计不同难度等级,提升游戏的趣味性
撤销功能 实现了游戏中的撤销操作,提高了游戏的可玩性和用户体验,提升了编程能力
排行榜 学会了如何在游戏中实现玩家成绩的记录和展示
界面设计 对界面设计有了一定的了解

PSP表格

阶段 描述 预估用时(小时) 实际用时(小时) 备注
计划 制定项目计划 0.15 0.15 较为合理,部分预估不准确
需求分析 确定游戏功能、需求和预期目标 0.5 0.5 完成对要做的功能的分析
软件开发 编码实现游戏逻辑、界面和功能 12 15 实现了界面设计和核心功能,但一些功能的设计花的时间超出了预期
测试 对游戏进行功能测试 1.5 2 发现了一些漏洞或未考虑到的情况,并且即时修改
优化 界面、游戏体验优化 3 3 对界面和游戏体验上有一些改进,增强用户体验感
总结 评估项目成果,总结经验教训 0.5 0.5 对于本次开发进行总结。这次游戏开发也提升了我的能力

评价:
总体来说想要实现的功能、界面等都完成了。也有用到AI进行辅助,提升了开发效率。但是耗费的时间还是超出了设想。另外美工上也还可以再加强。

posted @ 2024-09-18 21:54  Actung  阅读(18)  评论(0编辑  收藏  举报