(点击图片进入关卡)
使用你最好的鞋子去追上 Pender Spellbane。
简介
move 与 moveXY 不同!
move(pos) 有一个参数,而不是 moveXY(x,y) 的两个参数。
你可以用它来移动金币的位置,比如 move(coin.pos) ,而不是 moveXY(coin.pos.x, coin.pos.y)
默认代码
# 抓住 Pender Spellbane 去了解她的秘密。
while True:
# Pender是这里唯一的朋友,所以她总是在最近的位置。
pender = hero.findNearest(hero.findFriends())
if pender:
# moveXY()将移动到 Pender 在的位置,
# 但是她会向远离你的位置移动。
hero.moveXY(pender.pos.x, pender.pos.y)
# move()只一次移动一步。
# 所以你可以用它来追踪你的目标。
#hero.move(pender.pos)
概览
moveXY vs move
这关展示了旧的 moveXY 动作和新的 move 动作之间的差异。
(x,y) vs (pos)
要使用 move ,需要指定一个 位置 向其移动。
"位置" 是一种拥有一个 x 属性和一个 y 属性的对象。你以前曾经像这样使用 moveXY :
self.moveXY(coin.pos.x, coin.pos.y)
但是现在使用 move 你只需要把 pos 对象作为参数,就像这样:
self.move(coin.pos)
阻止运行还是继续运行?
使用 moveXY 你的程序将会停止运行 直到你的英雄已经到达了指定的坐标 (x,y) 。
使用 move 你的英雄将会 向着 你指定的 pos 移动,但是 你的程序将会继续运行.
这意味着你的英雄只会在 pos 的方向上移动很少的步数,但你的程序能继续运行下去,所以你可以在下一个循环代码中,通过做不同的动作来中断移动.
峭壁追逐解法
# 抓住 Pender Spellbane 去了解她的秘密。
while True:
# Pender是这里唯一的朋友,所以她总是在最近的位置。
pender = hero.findNearest(hero.findFriends())
if pender:
# moveXY()将移动到 Pender 在的位置,
# 但是她会向远离你的位置移动。
hero.moveXY(pender.pos.x, pender.pos.y)
# move()只一次移动一步。
# 所以你可以用它来追踪你的目标。
hero.move(pender.pos)
本攻略发于极客战记官方教学栏目,原文地址为:
https://codecombat.163.com/news/jikezhanji-qiaobizhuizhu
来源:oschina
链接:https://my.oschina.net/u/4441837/blog/4511669