博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

软件工程第二次个人作业

Posted on 2024-09-18 20:43  Bluemming  阅读(21)  评论(0编辑  收藏  举报
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024/
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253
这个作业的目标 初步了解游戏的基本功能和交互设计。
学号 102202147

Github仓库:https://github.com/Blueming92/Blueming92
test(1.py为本次作业代码。

🍎一、游戏名称:消除游戏

🥑二、游戏规则:

游戏目标:在限定的时间(TIME_LIMIT)内,通过点击消除尽可能多的图案来获得高分。

图案:游戏中有多种图案(由TILE_TYPES常量定义),每种图案对应一个图像。

游戏区域:游戏区域是一个多层的网格,每个图层上的图案可以独立操作。

选择图案:玩家通过鼠标点击选择图案。每次点击会将图案添加到selected列表中,最多可以选择两个图案。

图案消除:当玩家选择了两个相同的图案时,这两个图案会被消除(设置为-1),并且玩家获得分数。

得分:每次成功消除图案,玩家的得分(score)会增加。基本消除得分为10分,连续消除会额外奖励5分。

🍐三、前端设计与特殊功能

1.界面设计

开始界面

显示游戏标题和“开始游戏”按钮。

结束界面:

显示游戏结束信息、最终得分。

主界面

包含游戏区域、计分板、计时器和控制按钮。

2.用户交互

点击操作:玩家通过点击选择和消除图案。

实时反馈:图案消除和得分更新提供即时反馈。

3.特色功能

多层图案消除:游戏包含多个图层,增加游戏的策略性和复杂性。

计分系统:基于消除的图案数量和连续消除次数进行计分。

时间限制:增加游戏的挑战性,要求玩家在限定时间内完成游戏。

4.特殊算法

图案匹配算法:用于检测并消除玩家选中的两个相同图案。

图层管理:确保玩家只能与最顶层的图案交互。

5.游戏运行后终端会显示如下,反应图案的正确匹配。

6.实现思路

初始化游戏环境:设置窗口大小、加载图像和字体资源。

游戏循环:处理事件、更新游戏状态、绘制界面。

事件处理:响应玩家的点击事件,实现图案选择和消除。

图案消除逻辑:检查选中的图案是否匹配,并更新游戏状态。

计分和计时:根据玩家的操作更新得分和剩余时间。

游戏状态管理:控制游戏的开始、进行和结束状态。

🍑四、测试

简单进行几个消除动作,测试是否能够正确计分。

测试部分代码如下:

测试效果如下:

计分系统正常,可显示

🍊五、AIGC表格任务

子任务 借助何种AIGC技术,实现了什么功能 效果如何
界面设计 任务按钮 良好
图案排列 随机生成图标顺序 良好
倒计时 设置游戏的限定时长,并实时更新 良好
图案消除 更新游戏界面 动作后无法更新,需调整
计分设置 设置得分逻辑,并实时更新 良好

🍋六、AIGC表格

项目名称 项目描述 学到的内容 心得体会
消除游戏开发 使用Pygame库开发一个消除游戏,包括游戏逻辑、界面设计和事件处理。 - Pygame库的基本使用
- 图形用户界面的设计
- 游戏逻辑的实现
- 事件驱动编程
通过这个项目,我了解到了游戏开发的基本原则和Pygame库的强大功能。在实践中,我学会了如何将游戏逻辑转化为代码,并且理解了用户交互的重要性。
图像处理 学习如何使用Python进行图像处理,包括图像加载、缩放和显示。 - Python图像处理库的使用
- 图像的基本操作
- 图像文件格式的理解
图像处理是游戏开发中的一个重要部分。我学会了如何将图像资源有效地整合到游戏中,这对我的项目视觉设计有很大帮助。
事件处理 学习如何在Pygame中处理用户输入和游戏事件。 - 鼠标和键盘事件的处理
- 事件驱动的游戏逻辑
事件处理是游戏交互的核心。通过这个项目,我学会了如何响应用户的操作,使游戏更加生动和响应灵敏。
计分系统 实现一个简单的计分系统,记录玩家在游戏中的表现。 - 变量和数据结构的使用
- 基本的算法逻辑
计分系统让我意识到了数据管理和游戏反馈的重要性。我学会了如何设计和实现一个直观的计分板,以增强玩家的游戏体验。
多层图案逻辑 开发一个具有多层图案的游戏逻辑,提高游戏的复杂度和策略性。 - 多图层管理
- 复杂的条件判断和逻辑
这个挑战让我学会了如何组织和管理更复杂的游戏逻辑。我意识到了在游戏设计中考虑玩家策略和游戏平衡的重要性。

🍇七、PSP表格

PSP 预估耗时(min) 实际耗时(min)
需求分析 15 30
设计游戏规则 30 45
界面设计 40 35
图层设计 40 45
优化 60 80
测试与调试 70 100

🍒八、个人作业评价
由于我是第一次接触游戏开发任务,一开始对这个任务进行解读花了不少时间。在这次的作业中,我有去尝试使用AIGC技术为我写一些代码,但是技术可能还是有一些有限,有时候给出来的代码跑起来有bug,需要对代码进行更详尽的分析,去发现到底是哪里有问题。
通过这次的作业,我初步了解了一个小游戏进行开发会经过什么样的过程,有哪些地方需要特别注意,以后可以做得更好。