标准操作规程 (Standard Operating Procedure)
战术逻辑分析
指挥官,我们遇到了一个大问题!以前我们只有一个士兵,我们可以叫他"小明"(soldier1)。 但现在我们有一支军队!如果我们还要一个个叫名字:"小明攻击!"、"小红攻击!"、"小刚攻击!"... 代码会写到天亮。
解决方案:神奇的代号 "Target"
我们不再叫名字,而是给每个人发一张通用的任务卡。
event.target 就像一面镜子。谁拿着这张卡,task 就是指谁。
如果是 soldier1 拿着卡,target 就是 soldier1;如果是 munchkin 拿着,target 就是 munchkin。
Event.target
"谁触发事件,谁就是Target"
中心队形 (Center Formation)
战术逻辑分析
天黑了,我们需要让分散在地图四个角落的士兵集合到中间的篝火旁取暖。
-
我们不需要对每个士兵喊话,而是使用广播系统
game.setActionFor。 -
篝火的坐标是
(40, 36)。 - 只要士兵一出生(spawn),他们的大脑就会接收到指令:走向篝火!
瓶颈 (Bottleneck)
战术逻辑分析
我们需要守卫一条重要的林间小道。这里的战术叫做“弹力带战术”。
士兵一出生,必须先用变量 startX 记下自己站在哪里。这是在 while True 循环外面做的。
如果有敌人 -> 冲出去打!
没敌人了 -> 回到 startX 那个位置。就像弹簧一样缩回去。
↓
loop:
attack() OR moveXY(startX)