|
|
请教关于PortalCrane的问题,实在想不明白。发现placeIsFree调用的一个问题:当通过PortalCrane的Strategy下的自定义可利用位置(Define your own method for searching an available location)时,自定义程序为:
+ }7 k8 H1 z3 r(byref x1,y1,z1 : integer; part : object) : boolean! v1 g- A1 I/ k( q
is
) X( o% b5 j, M; L i2 ^ i,j,k,w : integer;
/ o1 I. @, x. ?' ]" j$ Wdo
% T6 Z# H8 d9 e% X for k := 1 to Crane.getStoreZDim loop |) Q/ n3 ~ P5 G* w4 ~
for i := Crane.getStoreXDim downto 1 loop3 m) T: V9 t2 U) K$ p) }- O
for j := 1 to Crane.getStoreYDim loop
|2 g2 Z- I8 O% z" L* l if Crane.placeIsFree(i,j,k) then
7 p- U# I9 S! @5 e x1 := i;
3 g+ X! i* ` H) R/ P* c3 k6 U y1 := j;2 K) ]0 @# s) ^8 |$ d
z1 := k;
) u" R. Q& [* z! D @ if Crane.placeIsFree(14,1,2) then9 Z6 ]( J& j7 O& n$ x" ]/ [
w:=1
/ g: v9 h4 c, J# f% g end;
9 r; i9 C% a; Y- w3 ^0 y return true;
% c' v' c1 x( h5 l1 x* p) U1 g end;. a$ Q) V) r/ p5 |
next;
1 c8 M" v) t9 _' a next;
' c/ b) n% T% B0 D" [ next;- O% ~ \& Y# I9 \' ^( {9 d
return false;6 S8 q" n; L! T- T2 J
end;5 ^2 K" c4 j$ E7 X" T2 _
判断的位置(14,1,2)的Free是True;而在某个程序中直接调用placeIsFree时, 判断的(14,1,2)的Free是False。保证两次判断位置(14,1,2)一直没有被占用。想知道是什么原因?placeIsFre方法到底该如何用?请求赐教?8 k9 \9 ~/ |5 I; [+ `
|
|