Skip to content

Repository files navigation

FishGame 更新说明 (简版)

新增功能

1. 多关卡系统 (3个关卡)

  • 关卡1 (War): 背景 stage_bg_war.png,敌人为 angler 和 crab,通关条件为 Power 达到 300
  • 关卡2 (Magic): 背景 stage_bg_magic.png,敌人为 angler、crab 和 Ghost Boss,通关条件为 Power 达到 350 且击败 Ghost
  • 关卡3 (Gold): 背景 stage_bg_gold.png,敌人为 angler、crab 和 Turtle Boss,通关条件为 Power 达到 350 且击败 Turtle

2. 关卡选择界面

  • 单张 choose_stage.png,左右中三等分区域对应关卡 1/2/3
  • 点击区域切换关卡,点击开始按钮进入存档选择
  • 选中区域浅白描边高亮,未选区域覆盖极浅黑蒙版

3. 存档系统

  • 每个关卡支持3个存档槽位
  • 存档保存在 saves/ 目录下
  • 自动保存功能(每30秒)
  • 存档记录:Power、HP、等级、Boss击败状态等

4. 新敌人类型

Ghost (幽灵)

  • 出现条件:关卡2
  • 攻击方式:直线法球 (ghost_orb.png),法球遇障爆炸,朝向玩家并有攻击动画
  • Boss 胜利:Power 达标后击败 Ghost

Turtle (海龟)

  • 出现条件:关卡3
  • 机制:Boss 本体无敌,按顺序生成 3 块石碑 (turtle_rock.png),石碑到时重新定位
  • 击败方式:击碎全部石碑后方可击败 Turtle

5. 地形障碍物

  • 每个关卡随机生成1-2个障碍物,生成间距极大避免重叠
  • 使用对应关卡的贴图:obstacle_war.png、obstacle_magic.png、obstacle_gold.png
  • 玩家和敌人都无法穿透
  • 生成时不会与其他物体重叠

6. 敌人可吞噬滤镜

  • 可吞噬敌人:贴图添加浅绿色滤镜 (RGBA: 100,255,100,60)
  • 危险敌人:贴图添加浅红色滤镜 (RGBA: 255,100,100,60)
  • Ghost 和 Turtle 不显示滤镜(有特殊机制)

文件结构

FishGame/
├── CMakeLists.txt      # 构建配置
├── Config.h            # 游戏配置参数
├── main.cpp            # 程序入口
├── GameWidget.h/cpp    # 主游戏逻辑
├── GameObject.h/cpp    # 游戏对象基类
├── Player.h/cpp        # 玩家类
├── Enemy.h/cpp         # 敌人类(含Ghost、Turtle)
├── Item.h/cpp          # 道具类
├── Obstacle.h/cpp      # 障碍物类
├── Projectile.h/cpp    # 投射物类(法球、石碑)
└── SaveData.h          # 存档系统

需要的资源文件

图片 (assets/images/)

  • choose_stage.png - 关卡选择界面(单张三等分)
  • stage_bg_war.png - 关卡1背景
  • stage_bg_magic.png - 关卡2背景
  • stage_bg_gold.png - 关卡3背景
  • ghost_orb.png - Ghost法球
  • ghost_orb_blow.png - 法球爆炸
  • turtle_rock.png - Turtle石碑
  • turtle_rock_blow.png - 石碑破碎
  • obstacle_war.png - 关卡1障碍物
  • obstacle_magic.png - 关卡2障碍物
  • obstacle_gold.png - 关卡3障碍物

动画 (assets/anim/enemy/)

  • ghost/swim (1).png ~ swim (39).png - Ghost游动动画
  • ghost/bite (1).png ~ ... - Ghost攻击动画
  • turtle/swim (1).png ~ swim (25).png - Turtle游动动画
  • turtle/bite (1).png ~ ... - Turtle攻击动画

音效 (assets/sounds/)

  • click.mp3 - 关卡选择音效
  • rock_blow.mp3 - 石碑/法球爆炸音效

配置参数 (Config.h)

关卡胜利条件

#define STAGE_1_WIN_POWER   300
#define STAGE_2_WIN_POWER   350
#define STAGE_3_WIN_POWER   350

Turtle机制参数

#define TURTLE_ROCK_COUNT     3      // 石碑数量(顺序生成)
#define TURTLE_ROCK_TIMEOUT   9000   // 石碑存在时间(毫秒)
#define TURTLE_ROCK_BLINK_START 6000 // 开始闪烁时间
#define TURTLE_ROCK_RESPAWN_MS 1500  // 下一块石碑生成延迟

Ghost机制参数

#define GHOST_ORB_SPEED       6.0   // 法球速度
#define GHOST_ORB_DAMAGE      15    // 法球伤害
#define GHOST_SHOOT_INTERVAL  180   // 发射间隔(帧)

滤镜颜色

#define FILTER_EATABLE_R/G/B/A  100,255,100,60  // 可吞噬(绿色)
#define FILTER_DANGER_R/G/B/A   255,100,100,60  // 危险(红色)

道具生成

#define ITEM_SPAWN_INTERVAL 200  // 生成间隔(帧)
#define ITEM_MAX_COUNT      10   // 场景最大道具数

编译说明

  1. 确保已安装 Qt6(包含 Core、Gui、Widgets、Multimedia 模块)
  2. 在项目目录下运行:
    mkdir build && cd build
    cmake ..
    cmake --build .
  3. 编译完成后,assets 文件夹会自动复制到可执行文件目录

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages