软件工程第二次个人作业

这个作业属于哪个课程 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 主要耗时集中在开发阶段
posted @ 2024-09-18 23:57  Con1427  阅读(26)  评论(0编辑  收藏  举报