|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
# ~3 M+ t8 e. xpublic void spreadMoney(int money){
1 X1 m# w1 t% _4 C& x // Randomly place money in moneySpace, l( e' D( Z4 [; S, q! m
for(int i = 0; i < money; i++){& o/ w% z6 h( M. q" O8 G
u2 ^! H4 J! x! u7 y& _
// Choose coordinates7 m6 h' G( z) [4 S
int x = (int)(Math.random()*(moneySpace.getSizeX()));* J$ w4 u9 f- w0 E: B
int y = (int)(Math.random()*(moneySpace.getSizeY()));$ I: o. B0 O7 B+ c6 Q+ Z6 m, }
0 h( y1 a+ [) I# l
// Get the value of the object at those coordinates" a$ a/ |7 s0 k) C, j& p% \
int I;2 Y2 t# g6 U, P, M+ g0 [- S! I' h1 `
if(moneySpace.getObjectAt(x,y)!= null){. K% r- B6 U* V% ^) Q% I; \
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
$ A: j! H$ E: N, R5 o$ u }9 h) N" [) z4 L/ I3 G" |9 \
else{; L1 t/ i7 ~! J' b- G% m# Q
I = 0;
1 E4 ?' L# y9 L }
6 s( M# q) U/ @( t1 p // Replace the Integer object with another one with the new value
) I5 t! D7 H2 n+ c6 ? O9 j% ?( ] moneySpace.putObjectAt(x,y,new Integer(I + 1));0 N- X# Q: x' i/ M6 j4 {1 C( v
}
' d" e+ v! `0 {9 S这里面if(moneySpace.getObjectAt(x,y)!= null){
1 P8 W' P/ d: U8 j I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
, C9 W: R) m* m. l# k( w }
4 q! N( _7 _, V7 B3 D( C else{- K8 k' q3 u3 j* i F* n+ J4 v
I = 0;
: Z% J8 G! i! x& \+ C# A# C是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
' x4 M3 \. f" b# j- N: L初学者,还请见谅! |
|