穿越 (The Crossing)
战术思路分析:尊重习俗
友善的兽人部落有两条规矩:**只能拿他们给的宝石**,不能碰他们的食物。你需要用 `!=` 来判断物品是否是宝石。
核心概念:不等于 (`!=`)
- `item.type == "gem"`: 物品是宝石吗?(等于)
- `item.type != "gem"`: 物品**不是**宝石吗?(不等于)
如果物品不是宝石(是食物),英雄就不能去拿,而是跟着宠物走。只有当条件为 False(即是宝石)时,`else` 语句才会执行移动去拿宝石。
IF type != "gem": MovePet()
ELSE: MoveItem()
Python 程序解法
有用的对手 (Helpful Opponents)
战术思路分析:双重排除
战场上有两类“坏东西”需要避开:**毒药 (`"poison"`)** 和 **差役 (`"peon"`)**(它们只会偷金币,不打你)。
排除差役:
我们只攻击**非差役**的敌人:`if enemy.type != "peon"`
排除毒药:
我们只收集**非毒药**的物品:`if item.type != "poison"`
(Enemy != Peon)
AND
(Item != Poison)
Python 程序解法
奇境 (The Wonderglade)
战术思路分析:唯一的禁忌
奇境中有很多有用的物品,但树精保护着宝石 (`"gem"`)。拿走宝石会激怒树精。因此,你只需确保不拿宝石即可。
`!=` 的优势
如果你不知道所有可收集的物品类型(硬币、药水、蘑菇...),使用 `!= "gem"` 是最安全和最简洁的方法。你无需列举所有“可以”做的事情,只需列举“不可以”做的事情。
IF type != "gem": Collect()
Python 程序解法
被诅咒的梦境 (Cursed Glade)
战术思路分析:攻防兼备的排除法
这个梦境有两个禁忌:不能拿**宝石**,不能攻击**树精** (`"burl"`)。我们需要将这两个排除逻辑同时应用于代码。
分离的逻辑块
我们使用两个独立的 `if` 块处理:
1. 物品:如果存在且 **不是** 宝石,则收集。
2. 敌人:如果存在且 **不是** 树精,则攻击。
这种结构保证了两个决策互不干扰。
IF Item != "gem": Collect()
IF Enemy != "burl": Attack()
Python 程序解法
概念挑战. 狂野联盟 (Wild Alliance)
战术思路分析:只排除树精
树精 (`"burl"`) 是这里的盟友,不能攻击它。你需要使用最简洁的 `!=` 语句来筛选掉树精。
只关注例外
只需一个简单的嵌套 `if`:如果找到目标,且 `enemy.type != "burl"`,就攻击。
IF type != "burl": Attack()