(点击图片进入关卡)
我们每一个倒下的同志,都会起来反抗你。
简介
你认为兽人弱吗? 如果我们一次又一次产生,会怎么样?
使用 "defeat" 事件,我们可以在每次失败的时候产生两个新的兽人。
我们也可以统计被击败的食人魔。
P.S.: 当许多食人魔在你的英雄周围时,尝试按下键盘上的空格按钮。
默认代码
敬请期待
概览
使用 game.setActionFor ,你可以为所有现有的食人魔以及后来产生的任何食人魔设置一个事件处理程序。
对于这个关卡,你需要使用 "spawn" 和`"defeat"``事件。
水蛇许德拉 解法
# 为每个被击败的食人魔,产生两个新食人魔。
player = game.spawnPlayerXY("knight", 40, 34)
player.attackDamage = 20
# 用这个来计算被击败的食人魔。
game.defeated = 0
# 玩家需要击败多少食人魔
game.toDefeat = 16
game.addDefeatGoal(game.toDefeat)
# 使用ui.track将这些有用的变量显示给玩家
ui.track(player, "health")
ui.track(game, "defeated")
ui.track(game, "toDefeat")
# 最开始的敌人。
game.spawnXY("munchkin", 30, 14)
game.spawnXY("munchkin", 50, 54)
# 这使得新的敌人很有侵略性。
def onSpawn(event):
unit = event.target
unit.behavior = "AttacksNearest"
# 计数击败的敌人并产生新的敌人。
def onDefeat(event):
unit = event.target
# 减少游戏的击败收获:
game.toDefeat -= 1
# 增加游戏的战败损失:
game.defeated += 1
# 获得新的敌人的随机坐标。
x1 = game.randomInteger(10, 40)
x2 = game.randomInteger(40, 70)
y = game.randomInteger(12, 56)
game.spawnXY("potion-small", unit.pos.x, unit.pos.y)
game.spawnXY("munchkin", x1, y)
game.spawnXY("munchkin", x2, y)
game.setActionFor("munchkin", "spawn", onSpawn)
# 将"munchkin"的"defeat"事件处理程序设置为onDefeat:
game.setActionFor("munchkin", "defeat", onDefeat)