|  | 
 
| 请教关于PortalCrane的问题,实在想不明白。发现placeIsFree调用的一个问题:当通过PortalCrane的Strategy下的自定义可利用位置(Define your own method for searching an available location)时,自定义程序为: + Q7 i* G: f. ^/ p( w- F(byref x1,y1,z1 : integer; part : object) : boolean
 7 r: @# m0 Q  Y1 u1 Xis
 7 U& R% O+ M" g0 ^+ z, t        i,j,k,w : integer;
 0 j0 F9 H" I. }( `: Ddo* ], e% w, ?, {) Y1 |4 \4 T, M
 for k := 1 to Crane.getStoreZDim loop
 5 D, z+ F8 ~5 a9 s7 N4 S                for i := Crane.getStoreXDim downto 1 loop
 ! D1 h3 q( p0 A4 w* K8 i* Y6 g2 D                        for j := 1 to Crane.getStoreYDim  loop1 B7 M+ ]% o& e- |$ z! f
 if Crane.placeIsFree(i,j,k) then" E4 y* l! w/ \$ u- b! T( v6 B
 x1 := i;
 7 _+ F0 _! t( r9 H- Z) M9 k                                        y1 := j;: x( L5 j$ u) ~5 I0 {
 z1 := k;: n9 B1 F0 d/ _( X
 if Crane.placeIsFree(14,1,2) then0 H# k' D5 u: O, x, a: m: |
 w:=1
 4 @" n6 \2 @4 \( ^                                        end;0 X  X4 n% i, d) T$ b, N
 return true;9 I: A% t8 [5 z* N  R
 end;  \& p7 G# c* l. x. i; @
 next;; _& F8 D% y- ?% C( W4 A  v
 next;
 ( U; b  y1 r' Z8 s% I, k        next;3 c+ Z6 ~8 h$ Y; h6 o
 return false;
 6 r. S2 e' i' ~end;1 \3 y, ?) F) C- @( M, Y9 R7 w
 判断的位置(14,1,2)的Free是True;而在某个程序中直接调用placeIsFree时, 判断的(14,1,2)的Free是False。保证两次判断位置(14,1,2)一直没有被占用。想知道是什么原因?placeIsFre方法到底该如何用?请求赐教?3 ^/ _; e* G3 @0 y
 
 | 
 |