标签:极客 使用 lse get play gre div tar 了解
(点击图片进入关卡)
了解如何为您的游戏创建自定义目标!
简介
现在您可以为您的游戏创建自定义目标!
我们将它们称为手动目标,因为您负责将它们手动标记为成功或失败。 像这样创建一个手动目标:
myGoal = game.addManualGoal("击败骷髅,救下射手!")
def onDefeat(event):
unit = event.target
if unit.type == "skeleton":
game.setGoalState(myGoal, True)
if unit.type == "archer":
game.setGoalState(myGoal, False)
game.setActionFor("archer", "defeat", onDefeat)
game.setActionFor("skeleton", "defeat", onDefeat)
默认代码
# 现在你可以为你的游戏创建一个自定义目标
# 使用 game.addManualGoal(描述)方法!
# 构建一些侦察员,老板和迷宫。
game.spawnMaze(5)
game.spawnXY("scout", 60, 58)
game.spawnXY("scout", 28, 29)
game.spawnXY("scout", 61, 24)
ogref = game.spawnXY("ogre-f", 60, 12)
# 构建并配置英雄。
hero = game.spawnPlayerXY("captain", 12, 56)
hero.maxHealth = 550
hero.maxSpeed = 10
hero.attackDamage = 25
# 构建一个兽人生成器。
generator = game.spawnXY("generator", 41, 13)
generator.spawnDelay = 5
generator.spawnType = "munchkin"
# 存活目标。
game.addSurviveGoal()
game.spawnXY("potion-medium", 28, 12)
# addManualGoal添加一个描述不完整的目标
# 描述将显示给玩家。
# 注意要将其保存在名为scoutGoal的变量中
scoutGoal = game.addManualGoal("Defeat all scouts")
# 使用addManualGoal添加一个目标来击败Boss
# 将其保存在名为bossGoal的变量中
# 敌人的行为
def onSpawn(event):
unit = event.target
while True:
enemy = unit.findNearestEnemy()
if enemy:
unit.attack(enemy)
game.setActionFor("scout", "spawn", onSpawn)
game.setActionFor("ogre", "spawn", onSpawn)
# 计算有多少侦察兵被打败..
scoutsDefeated = 0
# 每当敌人失败时更新我们的自定义目标。
# 这是一个使用if语句的算法的例子。
def onDefeat(event):
unit = event.target
if unit.type == "scout":
scoutsDefeated += 1
hero.say("Scout down!")
if scoutsDefeated >= 3:
# 使用setGoalState标记达成的侦察目标。
game.setGoalState(scoutGoal, True)
hero.say("All Scouts down!")
if unit.type == "ogre":
# 使用game.setGoalState标记boss目标达到。
# 不要忘记第二个参数。
hero.say("Defeated the big boss!")
# 将失败处理程序分配给食人魔"defeat"
# 注意兽人是不会成功的!
game.setActionFor("scout", "defeat", onDefeat)
game.setActionFor("ogre", "defeat", onDefeat)
概览
敬请期待!
切换目标 解法
# 现在你可以为你的游戏创建一个自定义目标
# 使用 game.addManualGoal(描述)方法!
# 构建一些侦察员,老板和迷宫。
game.spawnMaze(5)
game.spawnXY("scout", 60, 58)
game.spawnXY("scout", 28, 29)
game.spawnXY("scout", 61, 24)
ogref = game.spawnXY("ogre-f", 60, 12)
# 构建并配置英雄。
hero = game.spawnPlayerXY("captain", 12, 56)
hero.maxHealth = 550
hero.maxSpeed = 10
hero.attackDamage = 25
# 构建一个兽人生成器。
generator = game.spawnXY("generator", 41, 13)
generator.spawnDelay = 5
generator.spawnType = "munchkin"
# 存活目标。
game.addSurviveGoal()
game.spawnXY("potion-medium", 28, 12)
# addManualGoal添加一个描述不完整的目标
# 描述将显示给玩家。
# 注意要将其保存在名为scoutGoal的变量中
scoutGoal = game.addManualGoal("Defeat all scouts")
# 使用addManualGoal添加一个目标来击败Boss
# 将其保存在名为bossGoal的变量中
bossGoal = game.addManualGoal("Defeat the big boss!")
# 敌人的行为
def onSpawn(event):
unit = event.target
while True:
enemy = unit.findNearestEnemy()
if enemy:
unit.attack(enemy)
game.setActionFor("scout", "spawn", onSpawn)
game.setActionFor("ogre", "spawn", onSpawn)
# 计算有多少侦察兵被打败..
scoutsDefeated = 0
# 每当敌人失败时更新我们的自定义目标。
# 这是一个使用if语句的算法的例子。
def onDefeat(event):
unit = event.target
if unit.type == "scout":
scoutsDefeated += 1
hero.say("Scout down!")
if scoutsDefeated >= 3:
# 使用setGoalState标记达成的侦察目标。
game.setGoalState(scoutGoal, True)
hero.say("All Scouts down!")
if unit.type == "ogre":
# 使用game.setGoalState标记boss目标达到。
# 不要忘记第二个参数。
game.setGoalState(bossGoal, True)
hero.say("Defeated the big boss!")
hero.say("Defeated the big boss!")
# 将失败处理程序分配给食人魔"defeat"
# 注意兽人是不会成功的!
game.setActionFor("scout", "defeat", onDefeat)
game.setActionFor("ogre", "defeat", onDefeat)
「网易官方」极客战记(codecombat)攻略-游戏开发2-切换目标-stick-shift
标签:极客 使用 lse get play gre div tar 了解
原文地址:https://www.cnblogs.com/codecombat/p/12777353.html