美文网首页
打卡——极客战记之KELVINTAPH十字军

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

作者: 晏如V5 | 来源:发表于2018-06-25 13:36 被阅读53次
    KELVINTAPH十字军

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

    我的装备
    # 你可以通过墙壁找到朋友,但不是敌人。
    # 注意光滑,无摩擦的冰块!
    
    
    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十字军

          本文链接:https://www.haomeiwen.com/subject/gucyyftx.html