|
请教关于PortalCrane的问题,实在想不明白。发现placeIsFree调用的一个问题:当通过PortalCrane的Strategy下的自定义可利用位置(Define your own method for searching an available location)时,自定义程序为:
- A& r$ v2 \' y9 }/ b9 Y(byref x1,y1,z1 : integer; part : object) : boolean" f6 b# N, }* }+ k
is& K) m: A% F! n
i,j,k,w : integer;/ d) g# M) u0 \) K1 Z
do
; a9 A# t g1 e9 k0 B. g for k := 1 to Crane.getStoreZDim loop4 V0 L3 M( _- b
for i := Crane.getStoreXDim downto 1 loop$ c4 c: p, y. ]% i6 g6 Z3 w! U
for j := 1 to Crane.getStoreYDim loop
- T* |0 `9 A. Q9 Q# ]% d! P' E if Crane.placeIsFree(i,j,k) then. |8 g# f+ d) J/ g: ^: @
x1 := i;* D( _1 `/ I& Y, g* |2 a5 D; f( p
y1 := j;$ K4 |4 P' Z- S) K) W
z1 := k; A6 k* I& _% B
if Crane.placeIsFree(14,1,2) then. {( P" r/ x ?
w:=12 F+ g& \ O+ b, b- E' M
end;: @! D3 ?6 J" m2 ?
return true;" ]4 \) t, r7 T& a, b
end;
5 c! F. C, ~1 J# s) r2 m% q next;" z; q& O' G6 s* T" G
next;% d6 v& ?2 `( M% f( z5 V& B1 M
next;* l: Y% l7 X) [
return false;
; n+ m7 F# H; T' p% Lend;
* m& S9 x4 P H4 V! y1 } 判断的位置(14,1,2)的Free是True;而在某个程序中直接调用placeIsFree时, 判断的(14,1,2)的Free是False。保证两次判断位置(14,1,2)一直没有被占用。想知道是什么原因?placeIsFre方法到底该如何用?请求赐教?
3 i2 e- j- l9 s |
|