CodeCombat代码全记录(Python学习利器)--边地森林(第二章)代码4

边地僵局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)

猜你喜欢

转载自blog.csdn.net/xzm5708796/article/details/89313578
今日推荐