软件工程第二次作业

软件工程

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253
这个作业的目标 搞着玩
学号 102202156

项目名称:羊了个羊-动物版消除类小游戏

github作业仓库链接:

https://github.com/john-doe54548/Chuckle-Crush

项目概述

项目名称:开心消消乐

游戏类型:桌面端消除类游戏

开发工具:Python3, Pygame

功能特点

  • 通过交换小动物的位置来完成消除任务
  • 消除三个或以上的小动物,或达到特定目标(如消除冰块)来过关
  • 游戏中包括关卡选择、金币、步数、消除、随机分配消除块等功能
  • 高度还原了手机端游戏的效果

文件结构和功能

  1. main.py

    • 作为项目的入口文件
    • 负责包的导入、事件监听(键盘、鼠标)、全局BGM的播放
    • 绘制关卡选择界面
  2. manage.py

    • 主要的逻辑处理文件
    • 包括所有游戏逻辑、坐标转换、元素重置、关卡绘制等
    • 实现了消除、交换、判断是否为可消除图等算法
    • 包含了类和函数,如:
      • SoundPlay:声音播放类
      • Tree:关卡选择的树类
      • ManagerTree:管理树类
      • Element:元素类(小动物、冰块、选择光标等)
      • Board:提示板类(显示剩余步数、下一关等)
      • Manager:核心逻辑处理类

游戏规则

  1. 棋盘与小动物:

    • 游戏棋盘由一个 8x8 或 10x10 的方格矩阵构成,每个格子里会随机生成不同的小动物(或冰块)。
    • 玩家通过点击并交换相邻的两个小动物,目标是将三个或以上相同的小动物排列在一条直线上或形成 T 字形,从而触发消除。
  2. 交换规则:

    • 每次玩家只能交换两个相邻的小动物。
    • 如果交换后能形成消除(横向或纵向三连),交换生效,并触发消除。
    • 如果交换无法形成消除,则交换无效,两个小动物会恢复原位。
  3. 消除规则:

    • 当有三个或更多相同的小动物排列成一条直线时,它们会消除。
    • 消除后,上方的小动物会下落填补空缺,新的小动物从上方补入。
    • 若在新的状态下再次形成三连或更多,则触发连消。
  4. 步数限制:

    • 每个关卡有一个步数限制,玩家必须在规定的步数内完成目标任务(例如消除特定数量的小动物或冰块)。
    • 若步数耗尽且未完成任务,则判定关卡失败。
  5. 过关条件:

    • 不同关卡有不同的目标任务,例如:
      • 消除一定数量的特定种类小动物。
      • 清除特定数量的冰块。
      • 在限定步数内达到一定分数。
    • 完成目标任务即可过关,并根据得分奖励金币和体力值。
  6. 失败条件:

    • 若玩家在步数耗尽时未完成目标任务,则关卡失败。
    • 游戏允许玩家重试该关卡。

运行说明

  1. 环境设置
    • 安装Python3.xxx【建议控制在7,8,9】
    • 安装Pygame库
  2. 运行游戏
    • 直接运行main.py文件即可启动游戏

项目演示

  • 主界面

  • 开始通过,一共九关,在右侧固定的步数内要消除中间吊绳的要求。

  • 未通关

  • 通关

posted @ 2024-09-18 23:03  清风拂山岗(小高同学)  阅读(26)  评论(0编辑  收藏  举报