打卡——极客战记之KELVINTAPH十字军

打卡——极客战记之KELVINTAPH十字军_第1张图片
KELVINTAPH十字军

只是为了Mark下,只是为了Mark下,只是为了Mark下!!
我知道:
绝对不是最好的代码,甚至不是好的代码!
绝对需要拼上最好的装备,虽然没用人民币,但是前面积攒的宝石几乎用花了!
照搬也不一定能通过,因为敌人是随机出现的!

打卡——极客战记之KELVINTAPH十字军_第2张图片
我的装备
# 你可以通过墙壁找到朋友,但不是敌人。
# 注意光滑,无摩擦的冰块!


def commandPaladin(pala):
    friends =  hero.findFriends()
    for friend in friends:
        if friend.type != "paladin" and friend.health < friend.Maxhealth / 2:
            hero.command(pala, "cast", "heal", friend)
        else:
            continue
    

def findWitch(friend):
    enemies = friend.findEnemies()
    for enemy in enemies:
        if enemy.type == "witch" and enemy.health > 0:
            return enemy

def commandArcher(arch):
    witch = findWitch(arch)
    if witch:
        #hero.say(witch.id)
        hero.command(arch, "attack", witch)
    else:
        enemy = arch.findNearestEnemy()
        if enemy:
            hero.command(arch, "attack", enemy)
    

#hero.moveXY(5, 24)
while True:
    friends = hero.findFriends()
    for friend in friends:
        if friend.type == "paladin":
            commandPaladin(friend)
            pass
        elif friend.type == "archer":
            commandArcher(friend)
        elif friend.type == "soldier":
            commandArcher(friend)
        else:
            pass
        w = findWitch(friend)
    if not w:
        hero.say("Witch is dead!")
        break

hero.moveXY(9, 14)
friends = hero.findFriends()
for friend in friends:
    hero.command(friend, "move", {"x":54, "y":38})

count = 0
while count < 1:
    hero.moveXY(32, 14)
    hero.moveXY(2, 14)
    count += 1

hero.moveXY(65, 14)

friends = hero.findFriends()
for friend in friends:
    hero.command(friend, "move", {"x":78, "y":40})

catas = hero.findByType("catapult", hero.findEnemies())
for cata in catas:
    hero.attack(cata)
hero.moveXY(78 , 14)  



准备休息一段时间,暂时不过关了。
关于Python的基础应该差不多学完了,不熟的、不太懂的,主要是CodeCommbat的库。比如hero.command()这个方法,我怀疑它的内部实现有一个内嵌的循环,所以一不小心就会死循环。
另一个比较困扰我的是向量,大学知识差不多还给老师了,需要温习温习再战!
放假了,承诺了要带儿子打极客,所以,最近都会跟他一起去征战副线关卡。

你可能感兴趣的:(打卡——极客战记之KELVINTAPH十字军)