版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/itworld123/article/details/83582745
---------------------------------------------
-- 时间:2018-10-31
-- 创建人:Ruo_Xiao
-- 邮箱:[email protected]
---------------------------------------------
1、源码
CONST
iQueueLen = 7
VAR
-- 缓存Robot位置
Queue_CurPos : ARRAY [iQueueLen] OF POSITION
-- 已经缓存的数据数量
iQueue_Sum : INTEGER
----------------------- 队列缓存 -----------------------
ROUTINE XQUEUE(Pos_Cur , Pos_R : XYZWPREXT) : BOOLEAN
VAR
i , t : INTEGER
BEGIN
iQueue_Sum = iQueue_Sum + 1
IF iQueue_Sum <= iQueueLen THEN
Queue_CurPos [iQueue_Sum] = Pos_Cur
RETURN (FALSE)
ELSE
iQueue_Sum = iQueue_Sum - 1
Pos_R = Queue_CurPos [iQueueLen]
FOR i=1 TO (iQueueLen-1) DO
t = iQueueLen - i
Queue_CurPos [t+1] = Queue_CurPos [t]
ENDFOR
Queue_CurPos [1] = Pos_Cur
RETURN (TRUE)
ENDIF
END XQUEUE
2、解释
(1)作用:创建队列“Queue_CurPos”。
(2)形参:“Pos_Cur”机器人当前位置,“Pos_R”即为队列满时返回的元素。
(3)返回值:队列未满时,返回false,否则返回true。
(SAW:Game Over!)