「网易官方」极客战记(codecombat)攻略-游戏开发2-失败的痛苦-agony-of-defeat

                                                                           (点击图片进入关卡)

从失败中捕获零星的改变。

简介

当一个单位被击败时,一个'失败'事件被触发:

def onDefeat(event):
    unit = event.target
    unit.say("You got me!")
game.setActionFor("munchkin", "defeat", onDefeat)

在这个关卡中,你会使用 “失败” 事件在被击败的单位附近产生一个“金币”。

默认代码

# “失败”事件表示一个单位被击败。
game.spawnPlayerXY("captain", 40, 35)
game.addSurviveGoal()
game.addCollectGoal(8)
def onSpawn(event):
    while True:
        unit = event.target
        enemy = unit.findNearestEnemy()
        if enemy:
            unit.attack(enemy)
# 当一个单位被击败时,产生一枚金币。
def onDefeat(event):
    unit = event.target
    # 将x设置为unit.pos.x,再加上-5到5之间的数字
    x = unit.pos.x + game.randomInteger(-5, 5)
    # 将y设置为unit.pos.y,再加上一个介于-5和5之间的数字
    # 在x,y生成一个“金币”
game.setActionFor("munchkin", "spawn", onSpawn)
game.setActionFor("munchkin", "defeat", onDefeat)
spawnTime = 0
while True:
    if game.time > spawnTime:
        x = game.randomInteger(10, 70)
        y = game.randomInteger(10, 60)
        game.spawnXY("munchkin", x, y)
        spawnTime = game.time + game.randomInteger(1,4)

概览

使用“defeat”事件,我们可以让敌人掉落战利品!

当 munchkin 被击败时,通过在 -5 和 5 之间的 pos.x 和 pos.y 之间添加一个 randomInteger ,在失败的munchkin 的 pos 附近产生一个gold-coin。

在玩游戏时,你可能会注意到有时候 munchkins 似乎不会产生一枚硬币。 别担心 - 硬币可能刚刚在玩家之上产生,玩家立即收集硬币。

失败的痛苦 解法

# “失败”事件表示一个单位被击败。
game.spawnPlayerXY("captain", 40, 35)
game.addSurviveGoal()
game.addCollectGoal(8)
def onSpawn(event):
    while True:
        unit = event.target
        enemy = unit.findNearestEnemy()
        if enemy:
            unit.attack(enemy)
# 当一个单位被击败时,产生一枚金币。
def onDefeat(event):
    unit = event.target
    # 将x设置为unit.pos.x,再加上-5到5之间的数字
    x = unit.pos.x + game.randomInteger(-5, 5)
    # 将y设置为unit.pos.y,再加上一个介于-5和5之间的数字
    y = unit.pos.y + game.randomInteger(-5, 5)
    # 在x,y生成一个“金币”
    game.spawnXY("gold-coin", x, y)
game.setActionFor("munchkin", "spawn", onSpawn)
game.setActionFor("munchkin", "defeat", onDefeat)
spawnTime = 0
while True:
    if game.time > spawnTime:
        x = game.randomInteger(10, 70)
        y = game.randomInteger(10, 60)
        game.spawnXY("munchkin", x, y)
        spawnTime = game.time + game.randomInteger(1,4)
 
 

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

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

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

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