简介
就像检查一个敌人的“类型”一样,你可以检查旗帜的位置或者位置。 你甚至可以找到标志'pos'的'x'和'y'坐标。
flag = hero.findFlag()
hero.say(flag.pos)
hero.say(flag.pos.x)
var flag = hero.findFlag()
hero.say(flag.pos)
hero.say(flag.pos.x)
使用你的 pickUpFlag
方法捡起你放置的旗子。你的新眼镜附带 findNearestItem
方法,可以用它让你的英雄自动捡金币,不过得英雄看得见才行。用旗子引导你的英雄到达每块金币草地。
你可以像这样移动到物品的地方:
item = hero.findNearestItem()
if item:
position = item.pos
x = position.x
y = position.y
hero.moveXY(x, y)
每个物品都是一个 对象(object),对象是一种数据类型, 就像字符串 或者 数字。对象包含了其他的数据,我们称之为 属性(property).
每个物品(以及单元)对象都有一个 pos
属性,代表它的位置。而每个 pos
本身也是一个对象,拥有 x
和 y
属性,这些可以用于 moveXY
和 buildXY
。
提示: 点击提交后你才能放旗子。草地随机出现,所以地图每次都不一样。
XY坐标
游戏地图中表示位置的两个数字:x坐标和y坐标。
x
是表示左右的横坐标。
y
是表示上下的纵坐标。
向右运动时,x
数值会增大。向左运动时,x
数值会减小。
向上运动时,y
数值会增大。向下运动时,y
数值会减小。
地图的左下角坐标是0, 0
(x和y皆为0)。
金币草地 解法
# 收集每片草地的所有金币。
# 使用旗子在草地间移动。
# 当你准备好放置旗子时点击“提交”
while True:
flag = hero.findFlag()
if flag:
hero.pickUpFlag(flag)
pass
else:
item = hero.findNearestItem()
if item:
position = item.pos
x = position.x
y = position.y
hero.moveXY(x, y)