码迷,mamicode.com
首页 > 其他好文 > 详细

「网易官方」极客战记(codecombat)攻略-游戏开发2-水蛇许德拉-lernaean-hydra

时间:2020-04-26 10:54:46      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:for   set   简介   增加   一个   需要   默认   player   eal   

技术图片
                                                                          (点击图片进入关卡)

我们每一个倒下的同志,都会起来反抗你。

简介

你认为兽人弱吗? 如果我们一次又一次产生,会怎么样?

使用 "defeat" 事件,我们可以在每次失败的时候产生两个新的兽人。

我们也可以统计被击败的食人魔。

P.S.: 当许多食人魔在你的英雄周围时,尝试按下键盘上的空格按钮。

默认代码

敬请期待

概览

使用 game.setActionFor ,你可以为所有现有的食人魔以及后来产生的任何食人魔设置一个事件处理程序。

对于这个关卡,你需要使用 "spawn" 和`"defeat"``事件。

水蛇许德拉 解法

# 为每个被击败的食人魔,产生两个新食人魔。
player = game.spawnPlayerXY("knight", 40, 34)
player.attackDamage = 20
# 用这个来计算被击败的食人魔。
game.defeated = 0
# 玩家需要击败多少食人魔
game.toDefeat = 16
game.addDefeatGoal(game.toDefeat)
# 使用ui.track将这些有用的变量显示给玩家
ui.track(player, "health")
ui.track(game, "defeated")
ui.track(game, "toDefeat")
# 最开始的敌人。
game.spawnXY("munchkin", 30, 14)
game.spawnXY("munchkin", 50, 54)
# 这使得新的敌人很有侵略性。
def onSpawn(event):
    unit = event.target
    unit.behavior = "AttacksNearest"
# 计数击败的敌人并产生新的敌人。
def onDefeat(event):
    unit = event.target
    # 减少游戏的击败收获:
    game.toDefeat -= 1
    # 增加游戏的战败损失:
    game.defeated += 1
    # 获得新的敌人的随机坐标。
    x1 = game.randomInteger(10, 40)
    x2 = game.randomInteger(40, 70)
    y = game.randomInteger(12, 56)
    game.spawnXY("potion-small", unit.pos.x, unit.pos.y)
    game.spawnXY("munchkin", x1, y)
    game.spawnXY("munchkin", x2, y)
game.setActionFor("munchkin", "spawn", onSpawn)
# 将"munchkin"的"defeat"事件处理程序设置为onDefeat:
game.setActionFor("munchkin", "defeat", onDefeat)
 
 

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

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

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

「网易官方」极客战记(codecombat)攻略-游戏开发2-水蛇许德拉-lernaean-hydra

标签:for   set   简介   增加   一个   需要   默认   player   eal   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!