queue q
enqueue q, ghost_origin
set visited
while q has squares
p <= dequeue q
for each square s adjacent to p
if ( s not in visited ) then
add s to visited
s.returndirection <= direction from s to p
enqueue q, s
end if
next
next
x = getRelativeOppositeLatitudinalCoord()
y
origX = x
while(eyesNotInPen())
x = getRelativeOppositeLatitudinalCoordofGate()
y = getRelativeOppositeLongitudinalCoordofGate()
if (getRelativeOppositeLatitudinalCoordofGate() == 0 && move(y) == false/*assume zero is neither left or right of the the gate and false means wall is in the way */)
while (move(y) == false)
move(origX)
x = getRelativeOppositeLatitudinalCoordofGate()
else if (move(x) == false) {
move(y)
endWhile
最初的《吃豆人》并没有使用寻径或花哨的AI。它只是让玩家觉得游戏比实际更有深度,但实际上它是随机的。正如Ian Millington和John Funge在《ai Intelligence for Games》中所述。
不确定这是不是真的,但对我来说很有意义。说实话,我没有看到人们谈论的这些行为。Red/Blinky for ex并不会一直跟着玩家。似乎没有人会一直刻意地跟随玩家。在我看来,他们追随你的可能性是随机的。玩家很容易看到随机行为,特别是当玩家被追赶的几率很高,在一个小空间里有4个敌人和非常有限的转弯选择时。至少在最初的执行阶段,这款游戏非常简单。看看这本书,在前几章里。