47 · 强壮的沙牦牛
先读关卡目标,观察地图,再运用本课知识。
扣哒世界 · 计算机科学3 · Python · 第47–55关
先读关卡目标,观察地图,再运用本课知识。
先读关卡目标,观察地图,再运用本课知识。
先读关卡目标,观察地图,再运用本课知识。
先读关卡目标,观察地图,再运用本课知识。
先读关卡目标,观察地图,再运用本课知识。
先读关卡目标,观察地图,再运用本课知识。
先读关卡目标,观察地图,再运用本课知识。
先读关卡目标,观察地图,再运用本课知识。
先读关卡目标,观察地图,再运用本课知识。
学习路线:读目标 → 看图解 → 写代码 → 运行检查
游戏世界是一张巨大的网格地图。
移动就像在做加减法:
| 方向 | X 变化 | Y 变化 |
|---|---|---|
| ⬆️ 上 | 不变 | + 增加 |
| ⬇️ 下 | 不变 | - 减少 |
| ➡️ 右 | + 增加 | 不变 |
| ⬅️ 左 | - 减少 | 不变 |
同时改变 X 和 Y,就能走出斜线!
轨迹:↖️ 左上角
根据敌人的高度 (Y坐标) 来调整自己的位置。
比较坐标大小,就能知道方位:
enemy.x > hero.x : 敌人在右边enemy.x < hero.x : 敌人在左边enemy.y > hero.y : 敌人在上边enemy.y < hero.y : 敌人在下边虽然有 distanceTo(),但用坐标差也能算距离。
扣哒世界 · 计算机科学3 · Python · 第47–55关
位置用横坐标 x、纵坐标 y 表示;目标坐标表示地点,不是要走的步数。
hero.moveXY(30, 40)
移动就像在做加减法:
hero.moveXY(hero.pos.x + 10, hero.pos.y + 10)
同时改变 X 和 Y,就能走出斜线!
newX = hero.pos.x - 6
根据敌人的高度 (Y坐标) 来调整自己的位置。
hero.moveXY(x, y + 4)
比较坐标大小,就能知道方位:
enemy.x > hero.x
虽然有 distanceTo(),但用坐标差也能算距离。
dist_x = abs(enemy.pos.x - hero.pos.x)
本节课关卡:47. 强壮的沙牦牛;48. 绿洲;49. Sarven路;50. 概念挑战. 干燥灌溉;51. Sarven间隙;52. 十字路口;53. 截断;54. 雷蹄;55. 概念挑战. 友好的雷区