🕵️‍♂️

单分支选择结构 & 打敌人

CodeCombat 第6-13关 知识点大冒险

🤔 if 语句
⚔️ 三件套
🔄 循环
🤔

什么是 if 语句?

01/11

想象你是一个小侦探,每天都要做很多选择:

  • 如果 下雨 → 带伞出门
  • 🍰 如果 肚子饿 → 去吃点心
  • ⚔️ 如果 看到敌人 → 发动攻击!

在编程中,if 就是我们的魔法判断咒语

🕵️‍♂️🔍
"如果发现线索,就..."
🧠

大脑思考官

02/11

if 就像你的大脑思考官,它会问:

"这个条件成立吗?"

如果成立(是的!),就执行后面的动作。

# 就像这样思考:
if 条件成立:
    执行这个动作
🧠
💡
🍦

生活中的例子

03/11

让我们写一段贪吃代码:

# 如果看到冰淇淋店,就买一个吃!
if 看到冰淇淋店:
    买冰淇淋()
    吃冰淇淋()

注意:如果没有看到店,就什么都不做,直接走过去。

🏪 🍦 😋
⚔️

打敌人三件套 (Combat Trilogy)

04/11

这是这一章最重要的口诀!必须按顺序来:

🔍
第一件:找敌人 (Find)
🧠
第二件:判敌人 (Check)
⚔️
第三件:打敌人 (Attack)
🛡️
💻

三件套完整代码

05/11
# 1. 找:用"侦探眼镜"寻找
enemy = hero.findNearestEnemy()

# 2. 判:用"大脑"判断是否存在
if enemy:
    # 3. 打:确认存在后攻击
    hero.attack(enemy)
    hero.attack(enemy)
👹
Enemy Found!
📦

深入理解: if enemy

06/11

if enemy: 到底是什么意思?

这就像检查你的零食袋:

  • 🥡 如果 enemy 不是空的 → 有敌人!(True)
  • 💨 如果 enemy 是空的 → 没敌人... (False)
👹
True (成立)
False (不成立)
📏

缩进 (Indentation)

07/11

Python 用缩进(4个空格)来表示哪些代码属于 if 语句。

记忆口诀:
"if 后面冒号不能忘,缩进4格要记牢!"

if enemy:
    hero.attack(enemy)
    hero.attack(enemy)
hero.moveXY(...) ✘ 不属于if
👮‍♂️

循环结构 (Loop)

08/11

while 循环 —— 永不停止的巡逻兵!

就像保安叔叔,永远在指定的路线上走来走去,随时准备应对突发情况。

while True: # 永远为真
    巡逻()
    检查敌人()
👮
🔄

完整逻辑图

09/11

这就是我们在游戏中写代码的完整思路:

  1. 循环 (一直做...)
  2. 敌人
  3. 敌人是否存在
  4. 敌人 (如果存在)
Loop (循环)
⬇️
Find (找)
⬇️
If (判)
⬇️ Yes
Attack (打)
🎓

通关口诀

10/11

"找敌人,判存在,
如果真有就开打!"

🏆

恭喜你掌握了第6-13关的秘籍!