天天看点

极客战记 魔幻的考试(magic exam)通关代码

  1. 需要给不同的对象使用合适的技能,才能获取最多的金币奖励
  2. 判断类型时,所有的都应该小写,大写无法识别
  3. 最后一个房间想要吃掉毒药不死亡,获取到最后四枚金币, 需要给自己施加grow的技能让自己变大(增加血量)。
# Try to get the best grade (gold) at the magic exam.
# Move to each X mark, then use a spell.
def healFriendOrEliminateEnemyOrPickItem():
    friend = hero.findNearestFriend()
    enemy = hero.findNearestEnemy()
    item = hero.findNearestItem()
    if friend:
        if friend.type == "soldier":
            hero.cast("heal", friend)
        if friend.type == "goliath":
            hero.cast("grow", friend)
        if friend.type == "paladin":
            hero.cast("regen", friend)
    if enemy:
        if enemy.type == "ogre":
            hero.cast("force-bolt", enemy)
        if enemy.type == "brawler":
            hero.cast("shrink", enemy)
        if enemy.type == "scout":
            hero.cast("poison-cloud", enemy)
    if item:
        if item.type == "potion":
            hero.moveXY(item.pos.x, item.pos.y)
        else:
            hero.cast("grow", hero)
            hero.moveXY(item.pos.x, item.pos.y)
            
for i in range(4):
    hero.moveXY(18 + i * 16, 40)
    healFriendOrEliminateEnemyOrPickItem()
    hero.moveXY(18 + i * 16, 24)
    healFriendOrEliminateEnemyOrPickItem()