「网易官方」极客战记(codecombat)攻略-游戏开发2-守卫的职责-guard-duty
作者:互联网
有人忘了保卫要塞! 添加一名士兵并对他们进行编程以捍卫要塞!
简介
使用事件处理函数给士兵指令!
def soldierLogic(): while True: enemy = soldier.findNearestEnemy() if enemy: soldier.attack(enemy) soldier = hero.spawnXY("soldier", 42, 48) soldier.on("spawn", soldierLogic)默认代码
# 添加一名士兵到该关卡,以防止食人魔穿过道路。 # 使用事件处理函数命令士兵。 def soldierLogic(): # 在这里填写士兵行动的代码。 # 记得用'soldier'代替'hero'! while True: enemy = soldier.findNearestEnemy() # 如果敌人存在,则攻击敌人。 if enemy: # 单位有attack()方法。 # 你用士兵攻击(敌人)的方法:pass # 否则,请回到起始位置。 else: # 单位有moveXY()方法。
pass # 这将生成的单位分配给士兵变量。 soldier = game.spawnXY("soldier", 42, 48) # 这就是说,当士兵生成时,就可以执行士兵逻辑功能。 soldier.on("spawn", soldierLogic)
概览
在游戏开发层面,编程士兵就像编程一个宠物。
您可以使用 on(eventName,eventHandlerFunction) 函数将自定义行为分配给单位。
eventName 参数是一个用于触发 eventHandlerFunction 执行的特定事件的字符串。
"spawn" 只会在一个单位产生时发生一次。
eventHandlerFunction 参数是你定义的一个函数。 你可以把任何代码放在你想要的地方! 毕竟你是游戏开发者。
作为一个例子,考虑这个设置:
def munchkinLogic(): while True: enemy = munchkin.findNearestEnemy() if enemy: munchkin.attack(enemy) munchkin = game.spawnXY("munchkin", 20, 20); munchkin.on("spawn", munchkinLogic)考虑上面的代码的作用!
- 它定义了决定食人魔矮人行为逻辑的函数。
- 该逻辑表示,在看到敌人时攻击最近的敌人。
- 它会创建一个矮人,并将其存储在变量中。
- 最后,设置动作给矮人的生成触发器。
在深入研究下一个问题之前,阅读代码以了解它所做的事情总是有帮助的。
守卫的职责 解法
# 添加一名士兵到该关卡,以防止食人魔穿过道路。 # 使用事件处理函数命令士兵。 def soldierLogic(): # 在这里填写士兵行动的代码。 # 记得用'soldier'代替'hero'! while True: enemy = soldier.findNearestEnemy() # 如果敌人存在,则攻击敌人。 if enemy: # 单位有attack()方法。 # 你用士兵攻击(敌人)的方法: soldier.attack(enemy) # 否则,请回到起始位置。 else: # 单位有moveXY()方法。 soldier.moveXY(42, 48) # 这将生成的单位分配给士兵变量。 soldier = game.spawnXY("soldier", 42, 48) # 这就是说,当士兵生成时,就可以执行士兵逻辑功能。 soldier.on("spawn", soldierLogic) 本攻略发于极客战记官方教学栏目,原文地址为: https://codecombat.163.com/news/jikezhanji-shouweidezhize 极客战记——学编程,用玩的!标签:duty,codecombat,enemy,munchkin,soldier,attack,士兵,战记,soldierLogic 来源: https://www.cnblogs.com/codecombat/p/12718407.html