天天看點

極客戰記 魔幻的考試(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()