📊 LEVEL 25: 释放
🛡️ C++ 战术系统
PAGE 1/12
🔓

多分支选择结构

C++ 中的 if - else if - else

🔥 优先大招
⚔️ 其次普攻
🚪 保底开门
🎮

什么是 else if?

面对复杂的战场,我们不再只有“非黑即白”的选择。

else if (否则如果) 让我们能设置多个检查点:

  • 💥 if: 最强方案 (必杀技)
  • 🗡️ else if: 备选方案 (近距离攻击)
  • 🚪 else: 最后方案 (攻击门)
C++ 语法注意:
必须写成 else if (中间有空格),而不是 elif!
🚦
📝

C++ 语法结构

C++ 的多分支结构非常严谨,注意大括号 {}圆括号 ()

if (条件1) { // 方案 A: 最优先 doOptionA(); } else if (条件2) { // 方案 B: 如果 A 不行,看 B doOptionB(); } else { // 方案 C: 全都不行时的保底 doOptionC(); }
check 1
⬇️ false
check 2
⬇️ false
do else
🚁

出行方式选择

// C++ 示例 if (hasHelicopter) { fly(); // 最快! } else if (distance < 5) { bike(); // 近距离 } else { takeBus(); // 保底 }
🚁 Priority 1
🚲 Priority 2
🚌 Priority 3
🧠

第25关:释放 (Unleash)

我们要释放被困的树精,同时保护自己。这是高手的思维过程:

while (true) { auto enemy = hero.findNearestEnemy(); float dist = hero.distanceTo(enemy); // 1. 大招好了吗?好了就放! if (hero.isReady("cleave")) { hero.cleave(enemy); } // 2. 没好...那敌人近吗?近就砍! else if (dist < 5) { hero.attack(enemy); } // 3. 都没事?那就去砸门救人。 else { hero.attack("Door"); } }
Cleave (必杀)
Attack (自保)
Door (任务)
🪜

排排队,吃果果

if - else if - else 严格按照从上到下的顺序检查。

关键规则:
"三兄弟,排排队,
只有一个能执行!
找到就停不回头!"

一旦某个条件成立(比如 cleave 准备好了),后面的 else ifelse 会被直接忽略

🛑

One Way Only

技能准备好没? isReady

hero.isReady("cleave")

这是一个布尔函数,它回答 Yes/No:

  • 🟢 True → 技能亮了,可以用!
  • 🔴 False → 技能灰的,还在冷却...
if (hero.isReady("cleave")) { hero.cleave(enemy); }
🤔

为什么不用多个 if?

多个 if 的坏处:

if (isReady(...)) { cleave(); } if (dist < 5) { attack(); }

后果:如果技能好了且敌人很近,英雄会试图同时做两件事,导致混乱!


else if 的好处:
确保每一轮只做一个动作。

😵‍💫

Confused Hero

📚

重要概念解析

1. auto (自动类型)

C++ 可以自动推断变量类型:

auto enemy = hero.findNearestEnemy(); // 相当于 Enemy* enemy = ...

2. float (浮点数)

距离通常带有小数(如 4.5 米),所以用 float:

float dist = hero.distanceTo(enemy);
📏

4.5m

🎪

编程马戏团

想象有三个杂技演员在等待上场,但舞台只能容纳一人:

if (hasFireRing) { jumpFire(); // 最精彩! } else if (hasHighStage) { doFlip(); // 次精彩 } else { walkWire(); // 基础表演 }
🦁 🔥 🤸
🚀

增加更多条件?

你可以加无数个 else if!像搭积木一样。

if (isReady("cleave")) { cleave(); } else if (health < 20) { runAway(); // 快死了?跑! } else if (dist < 5) { attack(); } else { wait(); }
🧱

Logic Blocks

🎓

记忆口诀

"if - else if - else 三层楼,
从上往下走,
找到就停不回头!"


"大招优先,距离其次,
保底方案要牢记!"

🏆