【python】边远地区的森林14关开始更新。。。
codecombat吧
全部回复
仅看楼主
level 4
2017年06月17日 02点06分 1
level 4
14关:无敌旋风斩
# 這裡顯示如何定義一個稱為cleaveWhenClose的函式
# 函式定義了一個參數稱為target
def cleaveWhenClose(target):
if hero.distanceTo(target) < 5:
pass
# 把你的攻擊程式碼放在這裡
# 如果旋風斬就緒,對目標施放旋風斬
if hero.isReady("cleave"):
hero.cleave(enemy)
# 否則,直接攻擊目標!
else:
hero.attack(enemy)
# 這裡的程式碼不是函式的一部份.
while True:
enemy = hero.findNearestEnemy()
if enemy:
# 記得在cleaveWhenClose函式裡面,我們改用target作為指向敵人的變數.
cleaveWhenClose(enemy)
2017年06月17日 02点06分 2
level 4
15关:边远地区小伙伴
# You now have a pet!
def speak(event):
# 你的宠物应该用pet.say()来回应
pet.say('Meow!')
pass
# 这告诉你的宠物去执行speak()函式当她听到什么
pet.on("hear", speak)
# 和你的宠物说话!
hero.say("Hello Kitty")
2017年06月17日 02点06分 3
level 4
16关:朋友与敌人
# 农民和士兵聚集在森林。
# 命令农民战斗,苦工远离!
while True:
friend = hero.findNearestFriend()
if friend:
hero.say("To battle, " + friend.id + "!")
# 寻找最近的敌人,然后让他们滚蛋
enemy = hero.findNearestEnemy()
if enemy:
hero.say("滚开" + enemy.id + '!')
注: enemy.id意思敌人的名字
2017年06月17日 03点06分 4
大哥 有没有后面的 有用的对手 和 去接住 这两关的 太难了我不会= =
2017年06月17日 16点06分
回复 寂寞的桃花侠丶 :有的,会持续更新
2017年06月17日 16点06分
能不能明天把边远的森林更新完...时间紧迫周一要交差了
2017年06月17日 16点06分
回复 寂寞的桃花侠丶 :啊哈,怎么还有交作业这东西?
2017年06月17日 16点06分
level 4
17关:去接住
# 你被结实的陷阱给困住了!
# 派出你的宠物去拿回治疗药水!
def goFetch():
# 你可以在事件处理函式里面使用回圈.
while True:
potion = hero.findNearestItem()
if potion:
# 用 “pet.fetch()” 去让你的宠物捡药水:
pet.fetch(potion)
pass
# 当宠物被召唤出来时,会触发 "spawn" 事件。
# 这让你的宠物在关卡开始运行 goFetch()。
pet.on("spawn", goFetch)
2017年06月17日 17点06分 5
level 4
18关:巫师之门
# 去找Laszlo并取得他的密码数字.
hero.moveXY(30, 13)
las = hero.findNearestFriend().getSecret()
# 向 Laszlo 的数字中加7就能得到 Erzsebet的号码
# 去找Erzsebet并告诉她魔法数字.
erz = las + 7
hero.moveXY(17, 26)
hero.say(erz)
# 将 Erzsebet 的数字除以 4 得到 Simoyi 的数字。
# 去找Simonyi并告诉他数字.
simoyi = (erz/4)
hero.moveXY(30, 39)
hero.say(simoyi)
# 将 Simonyi 的数字乘以 Laszlo 的数字得到 Agata 的数字。
# 去找Agata并告诉她数字.
Agata = simoyi * las
hero.moveXY(48, 26)
hero.say(Agata)
2017年06月17日 17点06分 6
level 4
19关:金币屑
# 跟随硬币的轨迹来到红色 X 标记的出口
while True:
# 这能找到最近的敌人。
item = hero.findNearestItem()
if item:
# 这将物品的 pos,就是坐标,存储在变量中。
itemPosition = item.pos
# 将物品的 X 和 Y 坐标放进变量。
itemX = itemPosition.x
itemY = itemPosition.y
# 现在,使用moveXY来移动到itemX和itemY:
hero.moveXY(itemX, itemY)
2017年06月17日 17点06分 7
level 4
20关:看不见的距离
# 你的任务是告诉他兽人的距离。
# 这个函数寻找最近的敌人,并返回距离。
# 假如没有敌人,函式会回传0.
def nearestEnemyDistance():
enemy = hero.findNearestEnemy()
result = 0
if enemy:
result = hero.distanceTo(enemy)
return result
while True:
# 呼叫 nearestEnemyDistance() 和
# 储存结果到 enemyDistance变数里头.
enemyDistance = nearestEnemyDistance()
# 假如 enemyDistance 大于0:
if enemyDistance > 0:
# 说出 enemyDistance变数的值.
hero.say(enemyDistance)
2017年06月17日 17点06分 8
level 4
21关:困兽之斗
# 你掉进陷阱里了!别动!你会受伤的!
# 这个函数检查敌人是否再攻击范围。
def inAttackRange(enemy):
distance = hero.distanceTo(enemy)
# 几乎所有的剑攻击距离都是3.
if distance <= 3:
return True
else:
return False
# 只有兽人在范围内才攻击他们.
while True:
# 找到最近的敌人,并将其储存在一个变量中。
enemy = hero.findNearestEnemy()
# 调用 inAttackRange(enemy),将 enemy 作为参数
# 把结果保存于 “canAttack” 变量中
canAttack = inAttackRange(enemy)
if canAttack:
# 假如储存在 canAttack的结果是 True, 然后下手!
hero.attack(enemy)
pass
2017年06月18日 04点06分 9
level 4
22关:盐碱地
# 兽人正在攻击附近的殖民地!
# 小心,兽人在地上放了毒药。
# 收集硬币并打败兽人,但是要避开毛怪(burls)和毒药!
while True:
enemy = hero.findNearestEnemy()
if enemy.type == "munchkin" or enemy.type == "thrower":
hero.attack(enemy)
item = hero.findNearestItem()
# 检查物品类型,确保英雄不会捡起毒药!
# 寻找类型:'gem' 和 'coin'
item = hero.findNearestItem()
if item.type == 'gem' or item.type == 'coin':
pos = item.pos
x = pos.x
y = pos.y
hero.moveXY(x, y)
2017年06月18日 04点06分 10
level 4
第23关:春雷
# 某些金币和宝石会吸引闪电.
# 这个英雄应只收集银币和蓝宝石
while True:
item = hero.findNearestItem()
# 银币的价值为2.
# 收集该物品,如果其类型等于"coin"
# AND item.value 相等于2
if item.type == "coin" and item.value == 2:
hero.moveXY(item.pos.x, item.pos.y)
# 一个蓝宝石价值10
# 收集该物品,如果其类型等于"gem"
# AND item.value等于10.
if item.type == 'gem' and item.value == 10:
hero.moveXY(item.pos.x, item.pos.y)
2017年06月18日 04点06分 11
level 4
@寂寞的桃花侠丶 更新了哟
2017年06月18日 04点06分 13
看到了看到了哈哈哈哈哈谢谢楼主
2017年06月18日 05点06分
level 4
24关:平常的一天
# 打败食人魔,收集金币。一切都那么平常。
# 使用 与(AND) 在同一行检查存在性和类型。
while True:
enemy = hero.findNearestEnemy()
# 有了与(AND),只在敌人存在时检查类型
if enemy and enemy.type == "munchkin":
hero.attack(enemy);
# 寻找最近的物品
item = hero.findNearestItem()
# 如果有名为 “coin” (金币)的物品存在,那就快去收集它!
if item and item.type == 'coin':
hero.moveXY(item.pos.x, item.pos.y)
2017年06月18日 04点06分 14
level 4
25关:穿越
# 不要冒犯友善兽人的仪式
while True:
item = hero.findNearestItem()
if item:
# 如果物品的类型不等于"gem"
if item.type != "gem":
# 然后跟随你的宠物。
hero.moveXY(pet.pos.x, pet.pos.y)
# 否则:
else:
hero.moveXY(item.pos.x, item.pos.y)
# 移动到宝石的坐标。
2017年06月18日 04点06分 15
level 4
26关:有用的对手
# 这片金币地中暗藏了致命的毒药。
# 兽人正在进攻,而苦力尝试偷你的金币!
# 只在敌人类型不是 "peon" 的时候攻击。
while True:
enemy = hero.findNearestEnemy()
if enemy:
if enemy.type != "peon":
hero.attack(enemy)
item = hero.findNearestItem()
if item:
# 只在物品的类型不是 "poison" 的时候收集。
if item.type != 'poison':
hero.moveXY(item.pos.x, item.pos.y)
pass
2017年06月18日 05点06分 16
楼主加油把边远的森林更新完[吐舌]
2017年06月18日 05点06分
1 2 3 尾页