「网易官方」极客战记(codecombat)攻略-游戏开发2-下午茶时间-teatime

                                                                         (点击图片进入关卡)

不要忘记准备并喝下你的夜晚健康药水。

简介

你可以有几个计时器并独立追踪它们。 以不同的间隔生成兽人和投掷者,因为投掷者更危险。 此外,我们需要一些用三个时间间隔生成的药水。

所以你可以从食人魔中跑出来,在需要的时候或者与食人魔战斗时服用药剂。

默认代码

敬请期待!

概览

这个关卡有四个计时器。

其中三个我们很熟悉,我们正在使用它们来生成单位和物品。

然而,游戏逻辑并不需要最后一个 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()
 
 

本攻略发于极客战记官方教学栏目,原文地址为:

https://codecombat.163.com/news/jikezhanji-xiawuchashijian

极客战记——学编程,用玩的!

原文地址:https://www.cnblogs.com/codecombat/p/12758498.html