软件工程第二次作业
这个作业属于哪个课程 | 软件工程2024 |
---|---|
这个作业要求在哪里 | 2024秋软件工程个人作业(第二次) |
这个作业的目标 | 做一个类“羊了个羊”的消除游戏 |
学号 | 102202121 |
一、项目展示:将项目代码上传至GitHub仓库,并在博客中提交仓库链接。
这是链接
二、项目介绍:
参照作品《巨著(Opus Magnum)》中提到的炼金术:
只使用中间的非金属元素:
并参照西格玛花园(Sigmar's Garden)制作的消除游戏Simple Garden
开始界面:
游戏过程:
结束界面:
规则:只能选择外部的元素进行两两消除,对于外部的定义为一个元素的周围四格中至少有两格没有元素,游戏的边界也视为没有元素。根据炼金术的定义(?),风、火、水、土四大基础元素能跟其本身配对,盐能跟四大基础元素以及其本身配对,生和殁成组配对
分析:应当以尽可能解放出更多可选元素为目标,且考虑到盐作为一种万能牌而慎重使用,由于生和殁的特性则应尽可能成对解放生和殁。
三、测试
选择显示盐和四大基本元素的数量,由于生和殁必定成对出现则不必显示数量。
盐和四大基本元素均为偶数生成,若使用盐与四大基本元素配对则会出现奇数,必须再进行一次相同的配对,奇数会显示为红色字体:
测试通关:
四、AIGC表格
子任务 | 借助何种AIGC技术,实现了什么功能 | 效果如何? |
---|---|---|
游戏界面设计 | 使用Pygame库创建游戏窗口和绘制图形界面 | 游戏界面直观、响应用户操作,提供了良好的用户体验 |
图像处理 | 利用Pygame加载和显示图案图片 | 图案图片清晰显示,与游戏逻辑无缝集成 |
事件处理 | 实现了基于Pygame的事件监听和响应机制 | 用户输入得到即时响应,游戏逻辑正确执行 |
游戏逻辑实现 | 编写代码处理游戏逻辑,如匹配和消除 | 游戏规则得到正确实现,玩法符合预期设计 |
代码优化 | 重构代码以提高可读性和可维护性 | 代码结构更清晰,易于后续开发和维护 |
问题解决 | 使用调试和搜索资料解决遇到的问题 | 问题得到及时解决,项目进度未受影响 |
项目管理 | 规划项目里程碑和时间管理 | 项目按时完成,质量符合预期 |
五、PSP表格
PSP 阶段 | 任务内容 | 预估耗时 (小时) | 实际耗时 (小时) | 备注 |
---|---|---|---|---|
计划阶段 | 确定游戏内容 | 1 | 2 | 需求比预期复杂,导致设计时间增加 |
设计阶段 | 设计游戏界面 | 3 | 5 | 需要额外时间学习pygame库 |
测试阶段 | 编写代码和功能测试 | 2 | 3 | 经常不符合预期 |
评估阶段 | 项目回顾和总结 | 2 | 2 | 项目效果良好 |
总耗时 | 8 | 12 | 较大幅度超出预期 |