峭壁追逐 (Cliff Chase)
战术思路分析:动态追踪
目标 Pender Spellbane 不断移动。使用 `moveXY` 会让英雄停下来,导致追逐失败。
关键:`move(pos)` (非阻塞移动)
- **`hero.moveXY(x, y)`:** 阻塞式。程序暂停,等待英雄到达目标点。
- **`hero.move(pos)`:** 非阻塞式。英雄只向 `pos` 移动一小步,但程序立即继续运行,允许英雄在下一个循环中获取 Pender 的新位置,实现连续追踪。
move(pos) → Check New Pos → move(New Pos)
Python 程序解法
激流回旋 (Slalom)
战术思路分析:坐标对象
在不能使用 `moveXY` 的情况下,移动到安全点或宝石需要构造一个 **字典字面量** (`{ "x": N, "y": N }`) 来表示位置。
字典字面量作为参数
- `hero.move({'x': 20, 'y': 35})`:将字典直接传递给 `move()`。
- `while hero.pos.x < N:`:利用 `move()` 的非阻塞特性,循环移动直到英雄到达 X 坐标的安全阈值。
move({'x': N, 'y': N})
WHILE Pos.X < Target.X: move()
Python 程序解法
兽人山谷挖宝 (Ogre Valley)
战术思路分析:限时抢劫与撤退
英雄必须在 20 秒内尽可能多地收集金币,然后撤退到安全位置并建造防御。
循环条件:时间与位置
1. **抢劫循环:** `while hero.time < 20:` (基于时间)
2. **撤退循环:** `while hero.pos.x > 16:` (基于位置,确保英雄撤到围栏后)
WHILE Time < 20: Collect()
WHILE Pos.X > 16: Retreat(Target {15, 38})