「网易官方」极客战记(codecombat)攻略-游戏开发2-冒险时刻-adventure-time

时间:2024-02-29 15:52:58
                                                                          (点击图片进入关卡)

随着时间的消逝逐渐产生敌人。

简介

game.time 属性等于自游戏开始以来经过的秒数。

使用 game.time 产生敌人随着时间的推移(在这种情况下,每 2 秒),如下所示:

spawnTime = 0
while True:
    if game.time > spawnTime:
        game.spawnXY("munchkin", 20, 40)
        # Next spawnTime set to current game.time + 2
        spawnTime = game.time + 2

默认代码

# game.time是游戏过去的时间
game.spawnPlayerXY("guardian", 10, 35)
game.addSurviveGoal()
game.addDefeatGoal(5)
def onSpawn(event):
    while True:
        unit = event.target
        enemy = unit.findNearestEnemy()
        if enemy:
            unit.attack(enemy)
game.setActionFor("munchkin", "spawn", onSpawn)
# game.time从零开始,并在几秒内向上计数
spawnTime = 0
while True:
    # 产生时间是我们想要产生的时间。
    if game.time > spawnTime:
        pass
        # 在60, 35产生一个“munchkin”

 

        # 设置spawnTime等于game.time + 2
        # 所以敌人会每2秒产生一次。

概览

在这个关卡中, spawnTime 是我们用来追踪下一个 ` munchkin\' 应该产生的时间的变量。 一开始,它被设置为零,这意味着食人魔会在游戏开始时产生。

随着时间的流逝,游戏引擎会自动更新\'game.time` 属性。 这是自游戏开始以来的时间量,以秒为单位。

在 while-true 循环中,我们每次检查\'game.time 是否大于 spawnTime`。 如果是这样,我们知道是时候产生一个新的食人魔了。

在产生一个新的食人魔之后,我们更新 spawnTime 与当前的 game.time 相等,但是我们希望等待两次产生之间的秒数(在这种情况下,我们使用 2 )。

冒险时刻 解法

# game.time是游戏过去的时间
game.spawnPlayerXY("guardian", 10, 35)
game.addSurviveGoal()
game.addDefeatGoal(5)
def onSpawn(event):
    while True:
        unit = event.target
        enemy = unit.findNearestEnemy()
        if enemy:
            unit.attack(enemy)
game.setActionFor("munchkin", "spawn", onSpawn)
# game.time从零开始,并在几秒内向上计数
spawnTime = 0
while True:
    # 产生时间是我们想要产生的时间。
    if game.time > spawnTime:
        # 在60, 35产生一个“munchkin”
        game.spawnXY("munchkin", 60, 35)
        # 设置spawnTime等于game.time + 2
        # 所以敌人会每2秒产生一次。
        spawnTime = game.time + 2
 
 

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

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

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