CodeCombat森林关卡Python代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeCombat森林关卡Python代码相关的知识,希望对你有一定的参考价值。

地牢关卡过完,接下来是边缘的森林!

 

1,森林保卫战

hero.moveUp()
hero.buildXY("fence", 40, 52)
hero.moveDown()
hero.moveDown()
hero.buildXY("fence", 40, 20)

 

 

2,羊肠小道

# It‘s the first point of the path.
hero.moveXY(36, 59)
# Move at the next points of the path.
hero.moveXY(37, 13)
# Build a fence to stop the ogre.
hero.moveXY(79,18)
hero.moveXY(73,61)
hero.moveXY(79,18)

 

 

3,丛林里的隔间

hero.moveXY(19, 33)
enemy = hero.findNearestEnemy()
# 条件判断式将会检查该变数是否参考到一个ogre
if enemy:
    hero.attack(enemy)
    hero.attack(enemy)

hero.moveXY(49, 51)
enemy = hero.findNearestEnemy()
if enemy:
    # 在这里撰写攻击敌人指令
    hero.attack(enemy)
    hero.attack(enemy)
    # pass没有特别的意思,只是用来协助结束条件判断式,写不写都可以
    pass

hero.moveXY(58, 14)
enemy = hero.findNearestEnemy()
# 使用条件判断式来确认敌人是否存在
if enemy:
    # 如果敌人存在就攻击他
    hero.attack(enemy)
    hero.attack(enemy)

 

 

4,if-stravaganza

while True:
    enemy = hero.findNearestEnemy()
    # 使用一个 “if” 语句去检查是否有敌人存在:
    if enemy:
        # 攻击敌人如果它存在的话
        hero.attack(enemy)
        hero.attack(enemy)

 

 

5,背靠背

while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        # 亦或主动出击...
         hero.attack(enemy)
         hero.attack(enemy)
    else:
        # 亦或回到你的阵地防守。
        hero.say(" 我看不到敌人")
        hero.moveXY(40, 34)
        pass

 

 

6,森林劈裂者

hero.moveXY(23, 23)
while True:
    enemy = hero.findNearestEnemy()
    if hero.isReady("cleave"):
        # “Cleave”掉敌人!
        hero.cleave(enemy)
        pass
    else:
        # 否则(如果“cleave”还没准备好),就用你的普通攻击
        hero.attack(enemy)
        pass

 

 

7,边远地区的对峙

while True:
    # 使用 ‘isReady’ 中的一个 “if-statement” 的语句来检查 “cleave”
    if hero.isReady("cleave"):
        # 劈斩!
        enemy = hero.findNearestEnemy()
        hero.cleave(enemy)
    # 或者,如果 cleave 还没准备好的话:
    else:
        # 说一点什么来吓走曼切堪食人魔
        hero.say(" 快滚吧!刀剑无眼 !  ")
    pass

 

 

 8,测距仪

 

enemy1 = "Gort"
distance1 = hero.distanceTo(enemy1)
hero.say(distance1)
enemy2 = "Smasher"
distance2 = hero.distanceTo(enemy2)
# 将distance2变数作为参数,传入say()方法
hero.say(distance2)
# 测量并说出剩余敌人与英雄间的距离
# 不要向你的友军进行射击!
enemy3 = "Charles"
enemy4 = "Gorgnub"
distance4 = hero.distanceTo(enemy4)
hero.say(distance4)

 

9,保护农民

while True:
    enemy = hero.findNearestEnemy()
    distance = hero.distanceTo(enemy)
    if distance < 10:
        # 如果他们与农民太近,就攻击他们
        hero.attack(enemy)
        pass
    # 否则的话,呆在农民旁边!
    hero.moveXY(40, 37)

 

 

10,疯狂的食人魔

# 地上另一个让英雄打开的宝箱!
# 攻击宝箱以打开它
# 有些食人魔可不会呆呆地站着挨打!
# 当食人魔离你太近时,你得学着保护你自己
while True:
    enemy = hero.findNearestEnemy()
    distance = hero.distanceTo(enemy)
    if hero.isReady("cleave"):
        # 首先,定期使用旋风斩(cleave)当技能就绪的时候:
        hero.cleave(enemy)
        pass
    elif distance < 5:
        # 攻击靠近并离你最近的食人魔
        hero.attack(enemy)
        pass
    else:
        # 否则,试着打破宝箱看看:
        hero.attack("Chest")
        pass

 

 

11,跃火林中

# 在这关,别碰恶魔石!往其他方向移动避开它们!
while True:
    evilstone = hero.findNearestItem()
    if evilstone:
        pos = evilstone.pos
        if pos.x == 34:
            # 如果恶魔石在左边,走到右边。
            hero.moveXY(46, 22)
            pass
        else:
            # 如果恶魔石在右边,走到左边。
            hero.moveXY(34, 22)
            pass
    else:
        # If there‘s no evilstone, go to the middle.
        hero.moveXY(40, 22)
        pass

 

 

12,

 

可选关卡1:竞技场

# 在决斗中击败敌人的英雄!
while True:
    # 在一个循环中找到并攻击敌人
    # 当你完成的时候,提交到多人天梯系统中!
    enemy = hero.findNearestEnemy()
    hero.attack(enemy)
    if len(hero.findNearestEnemy()) > 5:
        hero.shield()
    else:
        hero.attack(enemy)

 

以上是关于CodeCombat森林关卡Python代码的主要内容,如果未能解决你的问题,请参考以下文章

网易官方极客战记(codecombat)攻略-森林-If 的盛宴

网易官方极客战记(codecombat)攻略-森林-Else 之战elseweyr

网易官方极客战记(codecombat)攻略-森林-食人魔营地-ogre-encampment

网易官方极客战记(codecombat)攻略-森林-背靠背-back-to-back

网易官方极客战记(codecombat)攻略-森林-鹰眼

网易官方极客战记(codecombat)攻略-森林-野餐毁灭者