|
|
请教关于PortalCrane的问题,实在想不明白。发现placeIsFree调用的一个问题:当通过PortalCrane的Strategy下的自定义可利用位置(Define your own method for searching an available location)时,自定义程序为:4 [# R. x6 r8 e" t* A& R
(byref x1,y1,z1 : integer; part : object) : boolean
* ^0 l6 o# J6 B1 Wis
3 N' I6 U4 z Z i,j,k,w : integer;
: H+ X( u! u! y d+ L8 [do! u5 a0 A+ w: g/ I
for k := 1 to Crane.getStoreZDim loop8 b2 P. R3 i _! e# S
for i := Crane.getStoreXDim downto 1 loop
. h1 t- L- f9 {8 w: z' a for j := 1 to Crane.getStoreYDim loop. i; D' U: x. ~0 i: P2 f7 I
if Crane.placeIsFree(i,j,k) then2 o8 B. S) w% d
x1 := i;& E* T* \+ c7 X0 E q2 g
y1 := j;+ p+ U2 S& W1 G @5 c1 \
z1 := k;: `0 _9 q1 k8 c
if Crane.placeIsFree(14,1,2) then: u5 S+ @. T' r8 }2 i9 Q
w:=1! ^$ l6 I2 \: }
end;
1 D. ]% g- e% \3 b+ ] return true;( H: v6 g; W+ o. j
end;
" L9 R- p2 m, M) k! P2 L next;
7 v# P& v) N) `8 ] next;
# Q; }7 N5 c& Y' i7 W8 Q next;
2 c! ]7 Z- ?8 B5 f. S, D, b, c return false;
Q; K) ^! \# C6 V( }6 P6 Jend;# Z# k4 @8 V6 I: q9 Y" E; x' t, J
判断的位置(14,1,2)的Free是True;而在某个程序中直接调用placeIsFree时, 判断的(14,1,2)的Free是False。保证两次判断位置(14,1,2)一直没有被占用。想知道是什么原因?placeIsFre方法到底该如何用?请求赐教?
2 J, g- }$ i$ H' E* l$ Q |
|