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