|
|
请教关于PortalCrane的问题,实在想不明白。发现placeIsFree调用的一个问题:当通过PortalCrane的Strategy下的自定义可利用位置(Define your own method for searching an available location)时,自定义程序为:
; k/ L1 L5 [6 |! ~(byref x1,y1,z1 : integer; part : object) : boolean
1 u! s; e( H: O' Gis; n; Y, F* E2 V X* ]( i
i,j,k,w : integer;
3 N/ U# b- ?8 H" p4 Kdo) |; x% N' c& U9 S7 y
for k := 1 to Crane.getStoreZDim loop3 s2 O) J( }8 U2 _- ~3 s R
for i := Crane.getStoreXDim downto 1 loop
: _* d* g; Y+ U for j := 1 to Crane.getStoreYDim loop) U4 [$ _/ J, U$ O/ c
if Crane.placeIsFree(i,j,k) then
# C& s2 y' E; M A1 ]9 u x1 := i;
: |2 n* p8 i1 Z e, N y1 := j;
7 `( d8 R+ f: k z1 := k;
, E" X! [1 c0 N: i/ P+ C. g) I1 t if Crane.placeIsFree(14,1,2) then
0 c+ Y) l) Z9 n* k' J2 q w:=1
1 X/ c) R; r( H end;
; @0 _9 }' |: j6 @ return true;$ \: p6 |$ o" x) _ f
end;/ D. v& e8 D& T3 T
next;
# d7 ^! V9 Y1 k" M( ^ w3 m6 z next;
+ U, y+ P; f; ^7 ? next;: U3 W1 Y" L" S8 q: w4 V ^
return false;4 x2 r% ]6 R3 `* r' k% o
end;9 w0 l: X, S( ^ ]" M8 f; p' P7 g
判断的位置(14,1,2)的Free是True;而在某个程序中直接调用placeIsFree时, 判断的(14,1,2)的Free是False。保证两次判断位置(14,1,2)一直没有被占用。想知道是什么原因?placeIsFre方法到底该如何用?请求赐教?5 Q7 Z0 I/ P* B' g! W$ B3 s
|
|