zoukankan      html  css  js  c++  java
  • 「网易官方」极客战记(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

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

  • 相关阅读:
    D3 data
    cubism.js
    git
    Render函数
    Vue 响应式原理
    JSSDK使用步骤
    用js获取access_token
    微信公众平台appid和appsecret在哪
    组件
    表单控件绑定
  • 原文地址:https://www.cnblogs.com/codecombat/p/12767220.html
Copyright © 2011-2022 走看看