(点击图片进入关卡)
不要忘记准备并喝下你的夜晚健康药水。
简介
你可以有几个计时器并独立追踪它们。 以不同的间隔生成兽人和投掷者,因为投掷者更危险。 此外,我们需要一些用三个时间间隔生成的药水。
所以你可以从食人魔中跑出来,在需要的时候或者与食人魔战斗时服用药剂。
默认代码
敬请期待!
概览
这个关卡有四个计时器。
其中三个我们很熟悉,我们正在使用它们来生成单位和物品。
然而,游戏逻辑并不需要最后一个 nextPotionIn 。 我们仅将它用于 UI 所以玩家可以看到下一次药水产生的时间。当然,我们可以显示 game.spawnPotionTime 但玩家不清楚,因为他们必须比较当前时间和生成时间。 相反,我们会显示到下一个药水的剩余时间。
与 game.time 不同,我们必须重设每个游戏框架的计时器, 所以我们已经放入了函数 updateTimers ,它在每个游戏框架的主游戏循环中被调用。
下午茶时间 解法
def spawnMunchkins():
munchkin1 = game.spawnXY(“munchkin”, 2, 12)
munchkin2 = game.spawnXY(“munchkin”, 2, 56)
munchkin1.behavior = “AttacksNearest”
munchkin2.behavior = “AttacksNearest”
def spawnThrowers():
thrower1 = game.spawnXY(“thrower”, 2, 16)
thrower1.behavior = “AttacksNearest”
thrower2 = game.spawnXY(“thrower”, 2, 52)
thrower2.behavior = “AttacksNearest”
def spawnPotion():
game.spawnXY(“potion-large”, 46, 34)
game.addSurviveGoal(20)
game.munchkinSpawnTime = 0
game.throwerSpawnTime = 0
game.potionSpawnTime = 6
game.nextPotionIn = 0
ui.track(game, “time”)
ui.track(game, “nextPotionIn”)
player = game.spawnPlayerXY(“duelist”, 40, 34);
player.maxSpeed = 15
def updateTimers():
if game.time > game.munchkinSpawnTime:
game.munchkinSpawnTime = game.munchkinSpawnTime + 6
spawnMunchkins()
if game.time > game.potionSpawnTime:
player.say(“药水在这!”)
game.potionSpawnTime = game.potionSpawnTime + 6
spawnPotion()
if game.time > game.throwerSpawnTime:
game.throwerSpawnTime = game.throwerSpawnTime + 9
spawnThrowers()
game.nextPotionIn = game.potionSpawnTime – game.time
while True:
updateTimers()