Fanuc Karel 實現佇列
阿新 • • 發佈:2018-11-11
---------------------------------------------
-- 時間: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!)