|
|
请教关于PortalCrane的问题,实在想不明白。发现placeIsFree调用的一个问题:当通过PortalCrane的Strategy下的自定义可利用位置(Define your own method for searching an available location)时,自定义程序为:
& ^, h/ ]1 V1 }8 M3 Y(byref x1,y1,z1 : integer; part : object) : boolean
; C% \% I% r, W Lis
6 R* V- E6 Y7 B/ o, t) R- t i,j,k,w : integer;% g! J; \" I8 p4 \
do2 i$ ~( v0 a; x3 f7 S: r
for k := 1 to Crane.getStoreZDim loop( r+ e' C0 i& [8 O, N7 d. ^
for i := Crane.getStoreXDim downto 1 loop
3 \" y! F# [! p2 O for j := 1 to Crane.getStoreYDim loop, ]" t: R/ `# G
if Crane.placeIsFree(i,j,k) then
. Q/ x" p( Y v% l9 U x1 := i;
3 c- b9 O2 y$ |0 S) r1 Y y1 := j;( Q/ v7 D0 }% J
z1 := k;
4 K4 F5 X# {( O+ V, Y) C) | if Crane.placeIsFree(14,1,2) then" c3 f6 z& \/ _& X& }' b
w:=1' O/ h: i5 w* `6 u; A% i& ~
end;2 n0 e- d- ^; |+ j! A2 f( b
return true;
6 Q: }( {) J7 e end;& ]; O$ f) u4 t7 n- I% H
next;
+ D5 X& Z% U" L: W) N" `! c7 j next;
( e: g y' U( ` x% v next;
4 `* U9 M4 I4 v% r. N0 s: I3 u return false;, A7 k# x# k6 K, F
end;
1 ?# t0 S b. K1 I) G 判断的位置(14,1,2)的Free是True;而在某个程序中直接调用placeIsFree时, 判断的(14,1,2)的Free是False。保证两次判断位置(14,1,2)一直没有被占用。想知道是什么原因?placeIsFre方法到底该如何用?请求赐教?5 `6 I/ c% q. C8 }! X, [) S5 U
|
|