最近迷上了玩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)
感受:
很有趣,通过游戏进行交互式学习编程。累了困了用这个提神也是很不错的方法~