C++ 基础 3 第 38-41 关
SYSTEM: ONLINE
🧬

逻辑运算符 AND (&&)

Logical Operator AND

⛓️ 严密逻辑
⚕️ 精准医疗
👮‍♂️

严格检查官:&&

在 C++ 中,AND 写作 &&

它就像一个超级严格的检查官,只有所有条件全部满足,才肯放行。

  • ✅ True && True = True
  • ❌ True && False = False
  • ❌ False && True = False
  • ❌ False && False = False
// 既要是特定种族,又要血量低 if (type == "burl" && health < 10) { heal(unit); }
[Image of series circuit diagram]
🛑
AND
⬇️
PASS
🔌

串联电路原理

&& 想象成串联电路中的开关。

电流必须流过所有开关才能点亮灯泡。

OFF
OFF
💡

只有当开关1 开关2 都打开时,灯才会亮。

实战:春雷 (Spring Thunder)

某些宝石会引来雷电。我们只收集特定价值的物品。

while (true) { auto item = hero.findNearestItem(); // 银币且价值为2 if (item.type == "coin" && item.value == 2) { hero.moveXY(item.pos.x, item.pos.y); } // 蓝宝石且价值为10 if (item.type == "gem" && item.value == 10) { hero.moveXY(item.pos.x, item.pos.y); } }
🪙 + 💎

Value Check

🕸️

实战:传送套索 (Teleport Lasso)

只攻击弱小且靠近的敌人。

while (true) { auto enemy = hero.findNearestEnemy(); float distance = hero.distanceTo(enemy); // 必须是 munchkin 并且 距离小于 20 if (enemy.type == "munchkin" && distance < 20) { hero.attack(enemy); } }
👾 📏

Type + Distance

⚕️

实战:精准医疗战士

医生诊断病人需要满足两个条件:

if (type == "burl" && health < 10) { heal(unit); } else { say("Next!"); }

"只治疗濒死的树精,健康的不管。"

🌳
Type: Burl ✔️
Health: 50 ✔️
WAITING...
❤️

健康值 (Health Value)

health 属性代表生命力。

  • 📈 数值大 = 健康
  • 📉 数值小 = 虚弱
if (enemy.health < 10) { attack(enemy); # 补刀! }
Health: 100
Health: 5 (Critical!)
🎓

逻辑大师口诀

"AND (&&) 是全部都要,
缺一个就不通过!"
"先查存在再查属性,
安全第一不报错!"
🏅