软件工程第二次作业
软件工程
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253 |
这个作业的目标 | 搞着玩 |
学号 | 102202156 |
项目名称:羊了个羊-动物版消除类小游戏
github作业仓库链接:
项目概述
项目名称:开心消消乐
游戏类型:桌面端消除类游戏
开发工具:Python3, Pygame
功能特点:
- 通过交换小动物的位置来完成消除任务
- 消除三个或以上的小动物,或达到特定目标(如消除冰块)来过关
- 游戏中包括关卡选择、金币、步数、消除、随机分配消除块等功能
- 高度还原了手机端游戏的效果
文件结构和功能
-
main.py
:- 作为项目的入口文件
- 负责包的导入、事件监听(键盘、鼠标)、全局BGM的播放
- 绘制关卡选择界面
-
manage.py
:- 主要的逻辑处理文件
- 包括所有游戏逻辑、坐标转换、元素重置、关卡绘制等
- 实现了消除、交换、判断是否为可消除图等算法
- 包含了类和函数,如:
SoundPlay
:声音播放类Tree
:关卡选择的树类ManagerTree
:管理树类Element
:元素类(小动物、冰块、选择光标等)Board
:提示板类(显示剩余步数、下一关等)Manager
:核心逻辑处理类
游戏规则
-
棋盘与小动物:
- 游戏棋盘由一个 8x8 或 10x10 的方格矩阵构成,每个格子里会随机生成不同的小动物(或冰块)。
- 玩家通过点击并交换相邻的两个小动物,目标是将三个或以上相同的小动物排列在一条直线上或形成 T 字形,从而触发消除。
-
交换规则:
- 每次玩家只能交换两个相邻的小动物。
- 如果交换后能形成消除(横向或纵向三连),交换生效,并触发消除。
- 如果交换无法形成消除,则交换无效,两个小动物会恢复原位。
-
消除规则:
- 当有三个或更多相同的小动物排列成一条直线时,它们会消除。
- 消除后,上方的小动物会下落填补空缺,新的小动物从上方补入。
- 若在新的状态下再次形成三连或更多,则触发连消。
-
步数限制:
- 每个关卡有一个步数限制,玩家必须在规定的步数内完成目标任务(例如消除特定数量的小动物或冰块)。
- 若步数耗尽且未完成任务,则判定关卡失败。
-
过关条件:
- 不同关卡有不同的目标任务,例如:
- 消除一定数量的特定种类小动物。
- 清除特定数量的冰块。
- 在限定步数内达到一定分数。
- 完成目标任务即可过关,并根据得分奖励金币和体力值。
- 不同关卡有不同的目标任务,例如:
-
失败条件:
- 若玩家在步数耗尽时未完成目标任务,则关卡失败。
- 游戏允许玩家重试该关卡。
运行说明
- 环境设置:
- 安装Python3.xxx【建议控制在7,8,9】
- 安装Pygame库
- 运行游戏:
- 直接运行
main.py
文件即可启动游戏
- 直接运行
项目演示
- 主界面
- 开始通过,一共九关,在右侧固定的步数内要消除中间吊绳的要求。
- 未通关
- 通关