Fork me on GitHub 打赏

CodeCombat地牢关卡Python代码

最近迷上了玩CodeCombat,特将地牢关卡的Python代码整理如下,供有兴趣的人学习交流探讨

 

1,Kithgard地牢

hero.moveRight()
hero.moveDown()
hero.moveRight()

 

 

2,深藏的宝石

hero.moveRight()
hero.moveDown()
hero.moveUp()
hero.moveUp()
hero.moveRight()

 

 

3,幽灵守卫

# 避开食人魔的视线,夺取宝石。
hero.moveRight()
hero.moveUp()
hero.moveRight()
hero.moveDown()
hero.moveRight()

 

 

4,真实姓名

hero.moveRight()
hero.attack("Brak")
hero.attack("Brak")
hero.moveRight()
hero.attack("Treg")
hero.attack("Treg")
hero.moveRight()
hero.moveRight()

 

 

5,高举之剑

# 打败食人魔
# 记住,每个攻击两次。
hero.moveRight()
hero.attack("Rig")
hero.attack("Rig")
hero.attack("Gurt")
hero.attack("Gurt")
hero.attack("Ack")
hero.attack("Ack")

 

 

6,注解监牢

hero.say("密码是什么?")
# 使用"say()"函式来说出密码.
# 密码是: "Achoo"
hero.say("Achoo")
hero.moveUp()
hero.moveUp()

 

 

7,Kithgard的图书管理员

hero.moveRight()
hero.say("Hush") 
hero.moveRight()

 

 

8,焰中舞动

# 代码通常按写下的顺序执行
# 循环多次重复一个代码块
# 按Tab或4个空格把移动指令缩进在循环内部

while True:
    hero.moveRight()
    hero.moveLeft()

 

 

9,循环又循环

# 在 while true 里的代码会永远重复!
while True:
    # 走起
    hero.moveRight()
    hero.moveUp()
    hero.moveLeft()
    hero.moveDown()

 

 

10,闹鬼迷宫

while True:
    # 在这里添加命令来重复。
    hero.moveRight()
    hero.moveRight()
    hero.moveUp()
    hero.moveUp()
    

 

 

11,再次迷宫历险

while True:
    hero.moveRight()
    hero.moveUp()
    hero.moveRight()
    hero.moveDown()

 

 

12,恐惧之门

# 攻击大门(Door)
# 需要攻击很多次,请使用loop循环
while True:
    hero.attack("Door")

 

 

13,已知敌人

# 你可以用名称标签作为变量。
enemy1 = "Kratt"
enemy2 = "Gert"
enemy3 = "Ursa"
while True:
    hero.attack(enemy3)
    hero.attack(enemy1)
    hero.attack(enemy2)

 

 

14,名字大师

# 你的英雄不知道这些敌人的名字!
# 这眼镜给了你 “findNearestEnemy” 寻找最近敌人的能力。
enemy1 = hero.findNearestEnemy()
hero.attack(enemy1)
hero.attack(enemy1)

enemy2 = hero.findNearestEnemy()
hero.attack(enemy2)
hero.attack(enemy2)

enemy3 = hero.findNearestEnemy()
hero.attack(enemy3)
hero.attack(enemy3)

 

 

15,近战

hero.moveRight()
enemy1 = hero.findNearestEnemy()
# 现在,攻击那个变量,
hero.attack(enemy1)
hero.attack(enemy1)

hero.moveRight()
enemy2 = hero.findNearestEnemy()
hero.attack(enemy2)
hero.attack(enemy2)
hero.moveRight()

 

 

16,矮人骚乱

# 在 while true循环里,使用 findNearestEnemy() 并攻击!
while True:
    enemy = hero.findNearestEnemy()
    hero.attack(enemy)

 

 

17,最后的Kithman族

# 使用loop循环移动并攻击目标
while True:
    hero.moveRight()
    hero.moveUp()
    enemy = hero.findNearestEnemy()
    hero.attack(enemy)
    hero.moveRight()
    hero.moveDown()
    hero.moveDown()
    hero.moveUp()

 

 

18,KithGard之门

# 建造三个栅栏来隔离兽人!
hero.moveDown()
hero.buildXY("fence", 36, 34)
hero.buildXY("fence", 36, 31)
hero.buildXY("fence", 36, 27)
hero.moveRight()
hero.moveRight()
hero.moveRight()
hero.moveRight()

 

 

可选关卡1:不祥的征兆

# 你的目标是保护地图右边的人存活。
# 你不需要和食人巨怪打,只管逃命!你的盟友会保护你。
hero.moveRight()
hero.moveRight()
hero.moveUp()
hero.moveRight()
hero.moveRight()
hero.moveRight()
hero.moveDown()
hero.moveRight()
hero.moveDown()
hero.moveRight()
hero.moveRight()

 

 

可选关卡2:Kithgard精通

# 使用移动命令到达迷宫的终点。
# 计算你收集到的宝石数量,然后在到达火球陷阱时通过说出当前的宝石数量来使陷阱失效。
# 在起点的地方会有一只乌鸦告诉你一个密码。在门的附近说出该密码来开门。
# 当你靠近食人魔时杀死它。
# 你可以在需要的时候使用loop来重复所有的指令。
# 如果你通过了这个关卡,你就可以直接跳到边远地区的森林!
hero.moveUp()
hero.moveRight(3)
hero.moveUp()
hero.moveDown()
hero.moveRight()
hero.say("Swordfish")
hero.moveRight(2)
hero.moveUp()
hero.say("1")
hero.moveUp(2)
enemy1 = hero.findNearestEnemy()
hero.attack(enemy1)
hero.attack(enemy1)
hero.moveLeft(4)
hero.moveUp(3)
hero.moveRight(3)
hero.moveUp()
hero.moveDown()
hero.moveRight()
hero.say("Swordfish")
hero.moveRight(2)
hero.moveUp()
hero.say("2")
hero.moveUp(2)
enemy2 = hero.findNearestEnemy()
hero.attack(enemy2)
hero.attack(enemy2)
hero.moveLeft(6)

 

 

 感受:

很有趣,通过游戏进行交互式学习编程。累了困了用这个提神也是很不错的方法~

 

posted @ 2017-08-17 22:44  Zoctopus_Zhang  阅读(...)  评论(...编辑  收藏
// function btn_donateClick() { var DivPopup = document.getElementById('Div_popup'); var DivMasklayer = document.getElementById('div_masklayer'); DivMasklayer.style.display = 'block'; DivPopup.style.display = 'block'; var h = Div_popup.clientHeight; with (Div_popup.style) { marginTop = -h / 2 + 'px'; } } function MasklayerClick() { var masklayer = document.getElementById('div_masklayer'); var divImg = document.getElementById("Div_popup"); masklayer.style.display = "none"; divImg.style.display = "none"; } setTimeout( function () { document.getElementById('div_masklayer').onclick = MasklayerClick; document.getElementById('btn_donate').onclick = btn_donateClick; var a_gzw = document.getElementById("guanzhuwo"); a_gzw.href = "javascript:void(0);"; $("#guanzhuwo").attr("onclick","follow('33513f9f-ba13-e011-ac81-842b2b196315');"); }, 900);