软件工程第二次个人作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253 |
这个作业的目标 | 做一个类似“羊了个羊”的消除游戏 |
学号 | 102202111 |
一、工具准备
1.安装 Pygame
2.使用到的 AIGC 工具:
豆包:生成游戏背景图和游戏图标
ChatGPT:编写部分代码
二.项目展示:将项目代码上传至GitHub仓库,并在博客中提交仓库链接。
仓库链接:https://github.com/noen-hh/noen-hh/tree/main/软工第二次个人作业
三.项目介绍:
1.游戏界面设计
(1) 主菜单
开始界面有简单,困难和地狱模式,点击开始游戏和退出游戏的按钮。
选择模式:点击简单模式,困难模式或地狱模式开始游戏。
退出游戏:退出游戏。
(2)游戏过程
道具:时钟,使用一次时间增加10s,使用次数用完后变为灰色。
图标显示:界面上显示图标,玩家可以点击选择。
倒计时:倒计时时间以白色显示在屏幕右上角
分数:屏幕左上角显示当前得分。
(3) 游戏结束
成功:清除所有图标后,显示“恭喜你,获胜!”的图片,并有本局得分和“返回主菜单”按钮。
失败:倒计时结束未完成目标,显示“GAME OVER”图片,并有本局得分和“点击返回开始界面”和“退出游戏”按钮。
(4)按钮功能
返回主菜单:点击返回主菜单。
退出游戏:退出游戏程序。
2.游戏规则设计
1. 游戏目标
游戏分为三个模式:简单模式和困难模式和地狱模式。玩家通过点击和消除相同图标获得分数,依据模式要求在限定时间内消除所有图标来通关。
2. 游戏模式
(1)简单模式:
图标:每种图标出现3次或3的倍数次,共6种不同的图标,倒计时120s。
空格:界面底部有7个空格。
目标:倒计时结束前清除所有图标获胜,7个空格被填满则游戏结束。
时钟使用次数:2
(2)困难模式:
图标:每种图标出现3次或3的倍数次,共7种不同的图标,倒计时90s。
空格:界面底部有7个空格。
目标:倒计时结束前清除所有图标获胜,7个空格被填满则游戏结束。
时钟使用次数:1
(3)地狱模式:
图标:每种图标出现3次或3的倍数次,共8种不同的图标,倒计时60s。
空格:界面底部有7个空格。
目标:倒计时结束前清除所有图标获胜,7个空格被填满则游戏结束。
无法使用时钟道具
3.游戏音效设计
在游戏中植入bgm:Komorebi (叶隙间洒落的阳光)
四.游戏展示及过程
1.游戏主界面
2.游戏过程界面(地狱模式)
3.游戏成功通关界面
4.游戏失败界面
(1)时间耗尽失败
(2)格子占满且无法消除失败
五.AIGC表格:使用AIGC工具生成一个表格,记录你在项目中学到的内容及心得体会。
学到的内容和心得
类别 | 内容描述 | 心得体会 |
---|---|---|
Pygame 基本使用 | - 初始化 Pygame 和音频 - 加载、缩放和处理图像 - 处理鼠标点击事件 |
- 学会了如何初始化和管理 Pygame 以及处理图像和音效 - 处理鼠标事件提升了用户交互体验 |
游戏逻辑设计 | - 实现不同难度的游戏设置 - 游戏状态管理 - 图片消除逻辑 |
- 游戏状态管理和消除逻辑确保了游戏的玩法和挑战 - 难度设置提高了游戏的可玩性 |
图形和 UI 设计 | - 设计开始屏幕和结束屏幕 - 动态更新游戏界面 - 添加按钮和文本 |
- 良好的界面设计提升了用户体验 - 动态更新界面确保了游戏的互动性 |
调试和优化 | - 使用打印调试信息 - 代码组织和模块化 |
- 调试技巧帮助解决了游戏中的问题 - 代码组织提高了项目的可维护性和可扩展性 |
音乐和音效 | - 添加背景音乐和音效 - 设置音量和循环播放 |
- 音效和音乐提升了游戏的沉浸感 - 合理的音效设计增强了游戏的趣味性 |
用户体验 | - 设计友好的游戏开始和结束屏幕 - 提供清晰的反馈 |
- 友好的用户界面增强了玩家体验 - 明确的反馈机制提高了游戏的可玩性和玩家的满意度 |
处理游戏状态 | - 游戏状态的准确处理 - 状态之间的转换 |
- 准确处理游戏状态确保了游戏逻辑的正确性 - 游戏状态管理提升了游戏的整体体验 |
六.PSP表格:运用PSP表格对任务进行分解,记录预估耗时和实际耗时。评价个人作业的完成过程和最终效果,分析哪里做得好,哪里还可以改进。
PSP 表格 - 游戏开发项目
PSP 阶段 | 任务内容 | 预估耗时 (小时) | 实际耗时 (小时) | 备注 |
---|---|---|---|---|
需求分析 | 确定游戏功能、难度设置和规则 | 2 | 1.5 | 需求基本清晰,但部分细节遗漏 |
设计阶段 | 设计游戏界面、图形元素、游戏逻辑和状态管理 | 3 | 4 | 设计复杂,界面和逻辑设计较好 |
开发阶段 | 实现游戏逻辑、用户输入处理、音效和音乐添加 | 5 | 6 | 遇到技术问题,最终功能完成较好 |
测试阶段 | 功能测试、稳定性和性能测试 | 2 | 3 | 测试发现BUG,修复后稳定性提高 |
优化阶段 | 进行代码优化、性能改进,和用户体验提升 | 2 | 1.5 | 优化效果明显,性能提升 |
文档编写 | 编写心得体会和项目总结 | 1 | 1 | 文档编写准确清晰 |
总耗时 | 15 | 17 | 主要耗时集中在开发阶段 |