Professional Documents
Culture Documents
Codecombat计算机科学入门二(Python) @Within的博客-CSDN博客 扣达世界攻略
Codecombat计算机科学入门二(Python) @Within的博客-CSDN博客 扣达世界攻略
codecombat计算机科学入门二(python)
@Within 于 2018-04-12 16:01:00 发布 8894
收藏
10 版权
分类专栏:
codecombat
平原保卫战
1.
2.Winding Trail
hero.moveXY(36, 59)
hero.moveXY(37, 12)
hero.moveXY(66, 17)
hero.buildXY("fence", 71, 24)
一步走错
3.
hero.moveXY(11, 35)
hero.moveXY(35, 24)
hero.moveXY(40, 55)
hero.moveXY(77, 57)
森林逃避
4.
while True:
hero.moveXY(56,44)
hero.moveXY(40,56)
# 用 moveXY 在森林中移动,确保存活。
hero.moveXY(24,44)
hero.moveXY(24,24)
hero.moveXY(40,12)
hero.moveXY(56,24)
林中小屋
5.
hero.moveXY(19, 33)
enemy = hero.findNearestEnemy()
语句会检查某变量是否有食人魔。
# if
if enemy:
hero.attack(enemy)
hero.attack(enemy)
hero.moveXY(49, 51)
enemy = hero.findNearestEnemy()
if enemy:
https://blog.csdn.net/qq_41264674/article/details/79914912 1/20
24/11/22, 16:20 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
codecombat
# 攻击这里的敌人:
hero.attack(enemy)
hero.attack(enemy)
hero.moveXY(58, 14)
enemy = hero.findNearestEnemy()
# 使用if语句检查敌人是否存在:
if enemy:
# 如果敌人存在,就攻击它:
hero.attack(enemy)
hero.attack(enemy)
5a. 边地伏击战
hero.moveXY(24, 42)
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
hero.attack(enemy)
hero.moveXY(27, 60)
enemy = hero.findNearestEnemy()
if enemy:
# 攻击敌人,如果存在的话!
hero.attack(enemy)
hero.attack(enemy)
hero.moveXY(42, 50)
enemy = hero.findNearestEnemy()
# 使用if语句检查敌人是否存在。
if enemy:
# 攻击敌人,如果存在的话!
hero.attack(enemy)
hero.attack(enemy)
hero.moveXY(39, 24)
# 找到最近的敌人:
enemy = hero.findNearestEnemy()
# 检查敌人是否存在:
if enemy:
# 攻击敌人,如果存在的话!
hero.attack(enemy)
hero.attack(enemy)
6.Cleanup
hero.moveXY(18, 14)
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
hero.attack(enemy)
hero.moveXY(62, 14)
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
hero.attack(enemy)
hero.moveXY(62, 54)
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
https://blog.csdn.net/qq_41264674/article/details/79914912 2/20
24/11/22, 16:20 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
codecombat
hero.attack(enemy)
hero.moveXY(18, 54)
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
hero.attack(enemy)
7.巡逻兵克星
while True:
enemy = hero.findNearestEnemy()
if enemy:
# 如果有敌人,攻击它!
hero.attack(enemy)
7a. 巡逻兵克星A
while True:
enemy = hero.findNearestEnemy()
if enemy:
# 如果有敌人,攻击它!
hero.attack(enemy)
8.野餐毁灭者
while True:
enemy = hero.findNearestEnemy()
# 如果有敌人,攻击它!
if enemy:
hero.attack(enemy)
8a. 鹰眼
while True:
enemy = hero.findNearestEnemy()
# 如果有敌人,攻击它!
if enemy:
hero.attack(enemy)
9.if 的盛宴
while True:
enemy = hero.findNearestEnemy()
# 使用一个 “if” 语句去检查是否有敌人存在:
if enemy:
# 攻击敌人,如果存在的话:
hero.attack(enemy)
10. 村庄守护者
while True:
hero.moveXY(35, 34)
left = hero.findNearestEnemy()
if left:
hero.attack(left)
hero.attack(left)
# 现在移动到右侧入口。
hero.moveXY(60, 31)
# 找到正确的敌人。
# 如果有正确的敌人,使用if来攻击。
right = hero.findNearestEnemy()
if right:
hero.attack(right)
hero.attack(right)
11. 荆棘农场
https://blog.csdn.net/qq_41264674/article/details/79914912 3/20
24/11/22, 16:20 codecombat 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
while True:
hero.moveXY(43, 50)
top = hero.findNearestEnemy()
if top:
hero.buildXY("fire-trap", 43, 50)
hero.moveXY(25, 34)
left = hero.findNearestEnemy()
if left:
hero.buildXY("fire-trap", 25, 34)
hero.moveXY(43, 20)
bottom = hero.findNearestEnemy()
if bottom:
hero.buildXY("fire-trap", 43, 20)
12.背靠背
while True:
enemy = hero.findNearestEnemy()
# 亦或主动出击 ...
if enemy:
hero.attack(enemy)
hero.attack(enemy)
else:
# 亦或回到你的阵地防守。
hero.moveXY(40, 34)
13.食人魔营地
while True:
# 使用 if/else语句
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
else:
hero.attack("Chest")
14.森林劈斩者
hero.moveXY(23, 23)
while True:
enemy = hero.findNearestEnemy()
if hero.isReady("cleave"):
用
# “Cleave” 干掉敌人!
hero.cleave(enemy)
else:
# 否则(如果 “cleave” 还没准备好),就用你的普通攻击
hero.attack(enemy)
15. Else 之战
while True:
enemy = hero.findNearestEnemy()
if hero.isReady("cleave"):
hero.cleave()
https://blog.csdn.net/qq_41264674/article/details/79914912 4/20
24/11/22, 16:20 codecombat计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
# 写个 else: 当 “cleave” 没有准备好时去做点什么。
else:
# 确保攻击了敌人:
hero.attack(enemy)
while True:
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
else:
hero.moveXY(30, 24)
17. 边地僵局
while True:
enemy = hero.findNearestEnemy()
# 使用带有‘isReady’的if语句来检查 “cleave”
if hero.isReady("cleave"):
# 劈斩!
hero.cleave()
# 否则,如果 cleave 还没准备好的话:
else:
# 攻击最近的食人魔!
hero.attack(enemy)
17a. 边地僵局 A
while True:
enemy = hero.findNearestEnemy()
# 使用带有‘isReady’的if语句来检查 “cleave”
if hero.isReady("cleave"):
# 劈斩!
hero.cleave()
# 否则,如果 cleave 还没准备好的话:
else:
# 攻击最近的食人魔。
hero.attack(enemy)
17b. 边地僵局 B
while True:
enemy = hero.findNearestEnemy()
# 使用带有‘isReady’的if语句来检查 “cleave”
if hero.isReady("cleave"):
# 劈斩!
hero.cleave()
# 否则,如果 cleave 还没准备好的话:
else:
# 攻击最近的食人魔!
hero.attack(enemy)
18. 测距仪
enemy1 = "Gort"
distance1 = hero.distanceTo(enemy1)
hero.say(distance1)
enemy2 = "Smasher"
distance2 = hero.distanceTo(enemy2)
# 说出distance2变量!
hero.say(distance2)
https://blog.csdn.net/qq_41264674/article/details/79914912 5/20
24/11/22, 16:20 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
codecombat
# 找到并说出与剩余敌人之间的距离:
# 不要攻击友方!
friend3 = "Charles"
distance3 = hero.distanceTo(friend3)
#hero.say(distance3)
enemy4 = "Gorgnub"
distance4 = hero.distanceTo(enemy4)
hero.say(distance4)
19. 贴身护卫
while True:
enemy = hero.findNearestEnemy()
distance = hero.distanceTo(enemy)
if distance < 10:
# 如果他们与农民太近,就攻击他们
hero.attack(enemy)
# 否则的话,呆在农民旁边!使用else
else:
hero.moveXY(40, 37)
20. 矮人蜂拥而至
while True:
# 检查与最近敌人的距离
enemy = hero.findNearestEnemy()
distance = hero.distanceTo(enemy)
# 如果它接近到10m以内,对它使用cleave!
hero.cleave(enemy)
else:
# 否则,攻击某名字的宝箱(“Chest”)
hero.attack("Chest")
21. 发狂的矮人
# <%= another_chest %>
# <%= attack_chest %>
# <%= idle_munchkins %>
# <%= defend_yourself %>
while True:
enemy = hero.findNearestEnemy()
distance = hero.distanceTo(enemy)
if hero.isReady('cleave'):
# <%= first_priority %>
hero.cleave()
elif distance < 5:
# <%= attack_nearest %>
hero.attack(enemy)
else:
# <%= break_open %>
# <%= use_name %>
hero.attack("Chest")
22. 跃火林中
# 在这关,别碰恶魔石!往其他方向移动避开它们!
while True:
evilstone = hero.findNearestItem()
if evilstone:
pos = evilstone.pos
if pos.x == 34:
https://blog.csdn.net/qq_41264674/article/details/79914912 6/20
24/11/22, 16:20 codecombat 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
# 如果恶魔石在左边,走到右边。
hero.moveXY(46, 22)
else:
# 如果恶魔石在右边,走到左边。
hero.moveXY(34, 22)
else:
# 如果没有恶魔石,那就去到中间。
hero.moveXY(40, 22)
23. 以静制动
while True:
enemy = hero.findNearestEnemy()
# 如果有敌人出现,那么就...
if enemy:
# 使用distanceTo创建一个距离变量
distance = hero.distanceTo(enemy)
# 如果敌人与你的距离小于5米,那么就攻击它
if distance < 5:
hero.attack(enemy)
# 否则(这名敌人还离得很远),就使用shield
else:
hero.shield()
# 否则(没有敌人)...
else:
# … 那么,回到X位置。
hero.moveXY(40, 34)
enemy = hero.findNearestEnemy()
if enemy:
distance = hero.distanceTo(enemy)
# 如果距离小于5米...
if distance < 5:
如果 “cleave”技能准备好了,就用“cleave”干掉他们!
# ...
if hero.isReady("cleave"):
hero.cleave(enemy)
否则,仅仅进行普通攻击。
# ...
else:
hero.attack(enemy)
enemy = hero.findNearestEnemy()
if enemy:
https://blog.csdn.net/qq_41264674/article/details/79914912 7/20
24/11/22, 16:20 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
codecombat
distance = hero.distanceTo(enemy)
# 如果距离小于5米...
if distance < 5:
如果 “cleave”技能准备好了,就用“cleave”干掉他们!
# ...
if hero.isReady("cleave"):
hero.cleave(enemy)
否则,仅仅进行普通攻击。
# ...
else:
hero.attack(enemy)
25. 乡村漫游者
# 这定义了findAndAttackEnemy函数
def findAndAttackEnemy():
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
# 这段代码不是函数的一部分。
while True:
# 现在你可以使用findAndAttackEnemy在村子里巡逻
hero.moveXY(35, 34)
findAndAttackEnemy()
# 现在移动到右侧入口。
hero.moveXY(60, 31)
# 使用findAndAttackEnemy
findAndAttackEnemy()
26. 村庄守卫
# 这个函数攻击最近的敌人。
def findAndAttackEnemy():
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
def findAndCleaveEnemy():
# 定义一个函数来劈斩敌人(只在劈斩就绪时)
enemy = hero.findNearestEnemy()
if enemy:
if hero.isReady('cleave'):
hero.cleave(enemy)
# 在主循环中,巡逻、劈斩和攻击。
while True:
# 移动到巡逻点,劈斩并攻击。
hero.moveXY(35, 34)
findAndCleaveEnemy()
findAndAttackEnemy()
# 移动到另一点:
hero.moveXY(60, 31)
findAndCleaveEnemy()
findAndAttackEnemy()
27.村庄守护神
# 定义你自己的函数来对抗敌人!
# 在函数中找到敌人,然后劈斩或是攻击它。
def cleaveOrAttack():
enemy = hero.findNearestEnemy()
https://blog.csdn.net/qq_41264674/article/details/79914912 8/20
24/11/22, 16:20 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
codecombat
if enemy:
if hero.isReady('cleave'):
hero.cleave(enemy)
else:
hero.attack(enemy)
# 在巡逻点之间移动并调用函数。
while True:
hero.moveXY(35, 34)
# 使用上面定义的cleaveOrAttack函数。
cleaveOrAttack()
hero.moveXY(47, 27)
# 再次调用函数。
cleaveOrAttack()
hero.moveXY(60, 31)
# 再次调用函数。
cleaveOrAttack()
28.造币厂
# 差役试图偷取金币
# 编写一个函数,在差役盗取金币前将其干掉
def pickUpCoin():
coin = hero.findNearestItem()
if coin:
hero.moveXY(coin.pos.x, coin.pos.y)
# 在下方写一个攻击敌人的函数attackEnemy。
# 寻找最近的敌人,如果出现敌人就进行攻击
def attackEnemy():
enemy = hero.findNearestEnemy()
if enemy:
hero.attack(enemy)
while True:
pickUpCoin()
29.边地之叉
# 一大波食人魔正在到来!
# 使用 checkAndAttack 函数让代码易读。
# 这个函数有一个参数。
# 参数是一种给函数传递信息的方式。
def checkAndAttack(target):
参数只是一个变量!
# target
# 它包含了函数调用时的参数。
if target:
hero.attack(target)
hero.moveXY(43, 34)
https://blog.csdn.net/qq_41264674/article/details/79914912 9/20
24/11/22, 16:20 codecombat 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
while True:
hero.moveXY(58, 52)
topEnemy = hero.findNearestEnemy()
checkAndAttack(topEnemy)
# 移动到底部的X标记处。
hero.moveXY(58, 16)
bottomEnemy = hero.findNearestEnemy()
checkAndAttack(bottomEnemy)
30.盗墓者
# 森林中一座被遗忘的墓地!
# 但是食人魔紧追不舍。
# 在防御矮人的同时破开坟墓
# 这个函数应该在敌人存在时攻击,否则攻击门!
def checkToDefend(target):
# 检查目标是否存在
if target:
# 如果是这样,攻击目标。
hero.attack(target)
# 如果没有目标,使用else去做点别的事
else:
hero.attack("Door")
while True:
enemy = hero.findNearestEnemy()
checkToDefend(enemy)
31.墓地阴魂
# 唯一的出口被食人魔堵住了。
# 躲着骷髅怪,并一个个击败食人魔
# 这个函数需要攻击敌人并隐藏。
def hitOrHide(target):
# 如果'目标'存在:
if target:
# 攻击'目标'
hero.attack(target)
# 然后移动到红色标记。
hero.moveXY(32, 17)
while True:
enemy = hero.findNearestEnemy()
hitOrHide(enemy)
32.捉迷藏
# 收集4个发光石,用来打败食人魔斗士。
# 如果发现发光石的话,藏起来。
def checkTakeHide(item):
if item:
# 物品在此,拿着它。
hero.moveXY(item.pos.x, item.pos.y)
https://blog.csdn.net/qq_41264674/article/details/79914912 10/20
24/11/22, 16:20 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
codecombat
# 然后移动到营地中央(40, 34)
hero.moveXY(40, 34)
while True:
# 移动到右上的X标记。
hero.moveXY(68, 56)
# 在那里搜索一块发光石。
lightstone = hero.findNearestItem()
# 调用checkTakeHide,并使用参数:lightstone
checkTakeHide(lightstone)
# 移动到左上角的标记。
hero.moveXY(12, 56)
# 搜索发光石。
lightstone = hero.findNearestItem()
# 调用checkTakeHide函数。
# 将搜索的结果作为参数传入。
checkTakeHide(lightstone)
33. 森林矿工
# 检查工人们是否能安全通过雷区。
def checkEnemyOrSafe(target):
# 如果目标(参数)存在:
if target:
# 然后攻击目标
hero.attack(target)
# 否则:
else:
# 使用say()来叫农民。
hero.say("All clear!")
while True:
# 移动到并检查右上的X标记。
hero.moveXY(64, 54)
enemy1 = hero.findNearestEnemy()
checkEnemyOrSafe(enemy1)
# 移动到左下的X标记处。
hero.moveXY(16, 14)
# 将findNearestEnemy()的结果存到一个变量中。
enemy2 = hero.findNearestEnemy()
# 调用checkEnemyOrSafe,并传递
# findNearestEnemy的结果作为参数
checkEnemyOrSafe(enemy2)
34.交给劈斩者
# 这里展示了如何定义一个叫作cleaveWhenClose的函数
# 函数定义了一个参数,名为target
def cleaveWhenClose(target):
if hero.distanceTo(target) < 5:
# 将你的攻击代码放到这里。
# 如果cleave准备就绪,那就劈斩目标
if hero.isReady("cleave"):
hero.cleave()
# 否则,使用attack攻击目标!
else:
hero.attack(target)
https://blog.csdn.net/qq_41264674/article/details/79914912 11/20
24/11/22, 16:20 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
codecombat
# 这段代码不是函数的一部分。
while True:
enemy = hero.findNearestEnemy()
if enemy:
# 注意在cleaveWhenClose内部,我们用target指向敌人。
cleaveWhenClose(enemy)
def cleaveWhenClose(target):
if hero.distanceTo(target) < 5:
if hero.isReady("cleave"):
hero.cleave(target)
else:
hero.attack(target)
while True:
enemy = hero.findNearestEnemy()
if enemy:
cleaveWhenClose(enemy)
36.返回荆棘农场
# 这个函数 “maybeBuildTrap” 定义了两个参数
# 使用x和y作为移动的坐标。
hero.moveXY(x, y)
enemy = hero.findNearestEnemy()
if enemy:
hero.buildXY("fire-trap", x, y)
while True:
maybeBuildTrap(43, 50)
# 下面在左侧入口使用maybeBuildTrap!
maybeBuildTrap(25, 34)
# 在底部入口处使用“maybeBuildTrap” !
maybeBuildTrap(43, 20)
返回荆棘农场 A
36a.
# 函数maybeBuildTrap定义了两个参数!
# 使用x和y作为移动的坐标。
hero.moveXY(x, y)
enemy = hero.findNearestEnemy()
if enemy:
# 使用buildXY在指定xy坐标处建造一个"fire-trap"
hero.buildXY("fire-trap", x, y)
while True:
# 这会调用maybeBuildTrap,使用左侧入口的坐标。
maybeBuildTrap(20, 34)
# 下面在下方入口处使用maybeBuildTrap!
maybeBuildTrap(38, 20)
https://blog.csdn.net/qq_41264674/article/details/79914912 12/20
24/11/22, 16:20 codecombat 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
# 下面在右侧入口使用maybeBuildTrap!
maybeBuildTrap(56, 34)
36b. 返回荆棘农场 B
# 函数maybeBuildTrap定义了两个参数!
# 使用x和y作为移动的坐标。
hero.moveXY(x, y)
enemy = hero.findNearestEnemy()
if enemy:
# 使用buildXY在指定xy坐标处建造一个"fire-trap"
hero.buildXY("fire-trap", x, y)
while True:
# 这会调用maybeBuildTrap,使用下方入口的坐标。
maybeBuildTrap(38, 20)
# 下面在右侧入口使用maybeBuildTrap!
maybeBuildTrap(56, 34)
# 现在在上方入口处使用maybeBuildTrap!
maybeBuildTrap(38, 48)
37. Agrippa 重构
def cleaveOrAttack(enemy):
if hero.isReady("cleave"):
hero.cleave(enemy)
else:
hero.attack(enemy)
while True:
enemy = hero.findNearestEnemy()
if enemy:
distance = hero.distanceTo(enemy)
if distance < 5:
cleaveOrAttack(enemy)
38. 封闭的十字路口
# 只在看到敌人时进行建造。
# 该函数定义3个参数。
hero.moveXY(x, y)
# 找到最近的敌人
enemy = hero.findNearestEnemy()
# 如果存在敌人
if enemy:
# 那么使用buildXY,参数buildType, x, 和 y
hero.buildXY(buildType, x, y)
while True:
# 调用 maybeBuildSomething,使用"fire-trap"及底部X的坐标。
# 调用maybeBuildSomething,在左侧X处使用"fence"!
https://blog.csdn.net/qq_41264674/article/details/79914912 13/20
24/11/22, 16:20 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
codecombat
maybeBuildSomething("fence", 26, 34)
# 调用maybeBuildSomething,在顶部的X处使用"fire-trap"!
# 调用maybeBuildSomething,在右侧X处使用"fence"!
39. 贪婪的陷阱
# 巡逻并只在看到金币时设置陷阱。
# 编写这个函数
# 移动到给定的xy位置
hero.moveXY(x, y)
# 搜寻一枚硬币,如果找到就建造一个"fire-trap"
coin = hero.findNearestItem()
if coin:
hero.buildXY("fire-trap", x, y)
while True:
# 为左上方通道调用maybeBuildTrap
maybeBuildTrap(12, 56)
# 下面是右上角的通道。
maybeBuildTrap(68, 56)
# 下面是右下的通道。
maybeBuildTrap(68, 12)
# 下面是左下角的通道。
maybeBuildTrap(12, 12)
40. 边地好伙伴
# 你现在拥有一个宠物!
def speak(event):
# 你的宠物需要用pet.say()进行回应
pet.say("Meow!")
# 这将告诉你的宠物,在听到声音时运行speak()函数
pet.on("hear", speak)
# 和你的宠物交谈!
hero.say("Hello Kitty")
40a. 好伙伴的名字A
# 农民想知道宠物的名字。
# 使用这个函数作为"hear"事件的处理函数。
def sayName(event):
# 宠物会在函数调用时按顺序说这些。
pet.say("我名叫狂兽。")
pet.say("不过我的朋友们叫我毛球。")
# 使用pet.on("eventName", functionName)来添加事件监听函数给宠物
# 在这里使用"hear" sayName及pet.on()
pet.on("hear", sayName)
https://blog.csdn.net/qq_41264674/article/details/79914912 14/20
24/11/22, 16:20 codecombat计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
# 你这次不需要说任何东西!
# 农民会进行交谈。
40b. 好伙伴的名字 B
# 宠物需要向英雄和农民问好。
# 使用这个函数作为"hear"事件的处理函数:
def sayHello(event):
# 宠物在说你好:
pet.say("Hi-meaw")
# 使用宠物的.on("eventType", functionName)方法.
# 这一关里,宠物需要在听到声音后运行sayHello
pet.on("hear", sayHello)
# 那么,问候宠物,等待回应。
hero.say("Hello, kitty!")
41. 好伙伴的名字
# 我们需要知道新宠物的名字。
def onHear(event):
# 不要更改这个函数
pet.say("喵呜~ 汪 喵呜~")
pet.say("汪 汪")
pet.say("喵呜~")
pet.say("喵呜~")
# 指派onHear函数来处理"hear"事件。
hero.say("伙计,你叫什么名字?")
hero.say("能重复一次吗?")
42.博士猫咪
# 教你的宠物回答问题!
# 很幸运,所有的答案都是"2"
def sayTwo(event):
# 使用pet.say()来回答"2"
pass
# 使用pet:on(),通过sayTwo来处理"hear"事件
# 现在休息并观看表演吧!
https://blog.csdn.net/qq_41264674/article/details/79914912 15/20
24/11/22, 16:20 codecombat计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
hero.say(" 一加一等于…?")
等于多少?")
43. 宠物小测试
# 编写一个事件处理函数,名为onHear
# 完成onHear函数
def onHear(e):
# 宠物需要在onHear中说点什么。
pet.say("Myau")
pet.on("hear", onHear)
hero.say("能听懂我的话吗?")
hero.say("你是美洲狮吗?")
hero.say("你多大啦?")
# 再问两个问题。
hero.say("你会数学吗?")
hero.say("你想不想到大学深造?")
44. 去拿取
# 你被困在了陷阱中!
# 派遣宠物拿取治疗药水!
def goFetch():
# 你可以在处理函数中使用循环。
while True:
potion = hero.findNearestItem()
if potion:
pet.fetch(potion)
# 这让你的宠物在关卡开始时运行 goFetch()函数。
pet.on("spawn", goFetch)
45. 看门狗
def onSpawn(event):
while True:
# 宠物一样可以发现敌人。
enemy = pet.findNearestEnemy()
# 如果有敌人:
if enemy:
# 然后让宠物说点什么:
pet.say("Woof!")
pet.on("spawn", onSpawn);
漫漫长路
46.
移动到右边
# 补全这个函数:
https://blog.csdn.net/qq_41264674/article/details/79914912 16/20
24/11/22, 16:20 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
codecombat
def onSpawn(event):
while True:
# 使用hero.findNearestItem()
item = hero.findNearestItem()
# 如果有物品:
if item:
# 使用pet.fetch(item)来拿取物品。
pet.fetch(item)
# 使用pet.on()来将onSpawn指派给"spawn"事件
pet.on("spawn", onSpawn)
hero.moveXY(78, 35)
47. 森林慢跑
def onSpawn(event):
while True:
# 首先,移动到左侧X标记处:
pet.moveXY(9, 24)
# 接着,移动到上面的X标记。
pet.moveXY(30, 43)
# 将宠物移动至右侧的X标记处:
pet.moveXY(51, 24)
# 将你的宠物移动到下面的X标记处:
pet.moveXY(30, 5)
# 使用pet.on(),通过onSpawn来处理"spawn"事件
pet.on("spawn", onSpawn)
# 激励你的宠物!
# 不要移除下方的命令。
while True:
hero.say("狗狗真棒!")
hero.say("你能做到的!")
hero.say("跑跑跑!")
hero.say("快好了!")
hero.say("再来一圈!")
48. 森林加农炮之舞
# 你的宠物应该在X标记上来回跑动
# 英雄需要时刻保持兴奋!
# 为宠物编写事件函数onSpawn
# 这个函数要让狼来回跑动:
# 首先,跑到右侧的标记上,然后左侧的标记:
def onSpawn(event):
while True:
pet.moveXY(12, 8)
pet.moveXY(48, 8)
pet.on("spawn", onSpawn)
# 鼓舞你的宠物。不要移除这个:
while True:
hero.say("跑!!!")
hero.say("速度!")
https://blog.csdn.net/qq_41264674/article/details/79914912 17/20
24/11/22, 16:20 codecombat 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
49. Power Peak
def petLogic():
# Add code to use your pet!
# Move them to the power discs at the top of the map for powerups.
pet.moveXY(66, 74)
pet.on('spawn', petLogic)
while True:
# Improve your hero's default code!
# Move to the nearby power discs to spawn units to help or attack!
enemy = hero.findNearestEnemy()
if enemy:
if hero.isReady("cleave"):
hero.cleave(enemy)
else:
hero.attack(enemy)
else:
hero.moveXY(38, 31)
@Within 关注 5 10 0 专栏目录
【初识Python】python入门(三) 01-20
海龟绘图库
相关资料来自百度百科,以及MOOC教程。
turtle(海龟)是Python重要的标准…
turtle
极客战记计算机科学2答案_科学专家和极客分享他们的开源项目 cumj63710的博客
808
极客战记计算机科学2答案 开放科学周将于6月9日开始! 从周一开始,来自开源社区的人们将与我…
https://blog.csdn.net/qq_41264674/article/details/79914912 18/20
24/11/22, 16:20 codecombat 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
06 计算机一级考试六(答案).pdf 10-10
06 计算机一级考试六(答案).pdf
codecombat 计算机科学三,Codecombat 游戏攻略——Jav… weixin_42210638的博客
1039
第21关:有用的对手// 这片满是硬币的地方暗藏了致命的毒药。// 食人魔正在进攻,而差役尝试偷…
codecombat 计算机科学入门三(Python) Within 的博客
8715
1. 友人和敌人while True:
friend = hero.findNearestFriend()
if friend:
hero.say("To battle, " + friend.id…
CodeCombat:CodeCombat 级别的解决方案 07-03
代码战斗
CodeCombat 级别的解决方案
扣哒世界平台升级 - 课程内容全面支持C++ 扣哒世界CodeCombat的博客
1010
经常有老师和同学来询问,扣哒世界是否支持C++学习。好消息来了,现在扣哒世界课程全面支持…
codecombat 计算机科学三,Codecombat 游戏攻略——Java… weixin_42501331的博客
488
第1关:尘埃// 使用循环直到你击杀10个Munchkinsvar attacks = 0;while (attacks < 10) {// 攻击最…
极客战记计算机科学2村庄守卫,「网易官方」极客战记(co… weixin_42467445的博客
85
( 点击图片进入关卡)编写你自己的函数来阻止食人魔入侵。简介 食人魔从另一条路突破进入了村…
codecombat 计算机科学入门四(python) Within 的博客
4912
1. 尘埃# <%= ten_munchkins %>
attacks = 0
while attacks < 10:
# <%= attackNearest %&g…
codecombat 计算机科学入门五(python) Within 的博客
5392
1. 维他力量# 这关会教你怎么定义你自己的函数。
# 放在函数内的代码并不会立刻执行, 而是先保…
极客战记计算机科学2村庄守卫,极客战记任务攻略 任务攻… weixin_35128544 的博客
159
极客战记任务怎么做,这个游戏要怎么玩,如何快速上手呢?下面是友情MT为大家带来的极客战…
极客战记计算机科学2村庄守卫,「网易官方」极客战记(c… weixin_27059669的博客
248
( 点击图片进入关卡)从食人魔的劫掠中保护村庄简介 在村庄的入口处巡逻,使用 if 语句检查是否有…
2021-2022 年度“扣哒杯”AI世青赛初赛落下帷幕 扣哒世界CodeCombat的博客
620
2021 年12月1日,由扣哒人工智能学会、CodeCombat和网易伏羲人工智能实验室共同主办的2021…
计算机游戏36,计算器游戏全关卡通关攻略 weixin_39569894 的博客
157
想必很多小伙伴小时候都玩过计算器,随便按数字加减乘除,但是计算器游戏则不同,需要通过寻…
©️2022 CSDN
皮肤主题:技术黑板
设计师:CSDN官方博客
返回首页
@Within
码龄5年 暂无认证
私信 关注
搜博主文章
分类专栏
https://blog.csdn.net/qq_41264674/article/details/79914912 19/20
24/11/22, 16:20 codecombat 计算机科学入门二(python)_@Within的博客-CSDN博客_扣达世界攻略
English 7篇
basic 7篇
oop 8篇
JavaSE 18篇
oracle 3篇
jdbc 3篇
最新评论
Execution repackage of goal org.springfr…
我真的是个菜鸟,求大佬带!: 确实是这个
原因。为了方便,我将一个模块打包出来运...
https://blog.csdn.net/qq_41264674/article/details/79914912 20/20