边地僵局A
# 矮人正在攻击!
# 攻击会有规律的一波波袭来。
# 可以的话,使用劈斩来清理大量敌人。
while True:
enemy = hero.findNearestEnemy()
# 使用带有‘isReady’的if语句来检查 “cleave”
if hero.isReady("cleave"):
# 劈斩!
hero.cleave(enemy)
# 否则,如果 cleave 还没准备好的话:
else:
# 攻击最近的食人魔。
hero.attack(enemy)
盾击
# 用shield盾牌和cleave顺势斩在两波进攻中活下来
# 如果cleave顺势斩没有准备好,就用你的shield盾牌技能。
# 你将会需要至少142健康值来保证活下来
while True:
enemy = hero.findNearestEnemy()
if hero.isReady("cleave"):
hero.cleave(enemy)
else:
hero.shield()
收割小食人魔(你需要有至少500点血)
# 铲除所有遗留的小食人魔
# 确保你有足够的护甲。
while True:
enemy = hero.findNearestEnemy()
if hero.isReady("cleave"):
hero.cleave(enemy)
else:
hero.attack(enemy)
测距仪
# 食人魔正在森林中巡视!
# 使用distanceTo方法找到敌人在哪。
# 说出与每个敌人的距离,告诉大炮向哪开火!
enemy1 = "Gort"
distance1 = hero.distanceTo(enemy1)
hero.say(distance1)
enemy2 = "Smasher"
distance2 = hero.distanceTo(enemy2)
# 说出distance2变量!
hero.say(distance2)
# 找到并说出与剩余敌人之间的距离:
# 不要攻击友方!
friend3 = "Charles"
distance3 = hero.distanceTo(friend3)
hero.say("He is my friend!!don not fire!!!")
enemy4 = "Gorgnub"
distance4 = hero.distanceTo(enemy4)
hero.say(distance4)
奥法盟友(你需要至少有300以上的血量,等待你的战友来支援你!!)
记得重复性的工作交给while True来实现!
# 拿下那些兽人
while True:
enemy = hero.findNearestEnemy()
if enemy:
if hero.isReady("cleave"):
hero.cleave(enemy)
hero.attack(enemy)
边地僵局B(练习)
# 矮人正在攻击!
# 攻击会有规律的一波波袭来。
# 可以的话,使用劈斩来清理大量敌人。
while True:
enemy = hero.findNearestEnemy()
# 使用带有‘isReady’的if语句来检查 “cleave”
if hero.isReady("cleave"):
# 劈斩!
hero.cleave(enemy)
# 否则,如果 cleave 还没准备好的话:
else:
# 攻击最近的食人魔!
hero.attack(enemy)
通过以上的练习,你是不是感觉你在平时玩的塔防游戏没什么呢,是不是感觉很简单呢,只需要一个while True就可以搞定。是不是感觉自己也可以试试写写植物大战僵尸和保卫萝卜了呢!!哈哈!!
敏捷的匕首(换角色职业挑战,其他角色体验)
1.本关你可以进行体验新的角色,那新的角色的职业和之前的职业不同,之前的职业是战士,而这个职业是游骑兵!所以,他们有不同的技能。
2.本关引入距离的概念,注意学习。
# 长距离用你的弓,短距离用匕首
while True:
enemy = hero.findNearestEnemy()
if enemy:
distance = hero.distanceTo(enemy)
if distance < hero.throwRange:
# 向敌人扔你的匕首
hero.throw(enemy)
else:
# 用你的弓攻击敌人
hero.attack(enemy)
弹片
# 使用炸药干掉食人魔
# 然后用你的弓干掉他们
while True:
enemy = hero.findNearestEnemy()
if enemy:
if hero.isReady("throw"):
distance = hero.distanceTo(enemy)
# 如果食人魔距离多于15米的时候,扔炸药炸他
# 使用 if 来比较距离和15
if distance > 15:
# 使用 else 来攻击它如果你不能够炸它
hero.throw(enemy)
else:
hero.attack(enemy)