|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
0 h& g) h2 {& N) v: Bpublic void spreadMoney(int money){$ j. a8 B" a; l n- z) J1 [% h
// Randomly place money in moneySpace. y" B3 i3 s% ?1 w. S, u
for(int i = 0; i < money; i++){
3 l4 X/ Y6 j( {, W( K$ H0 t5 e5 }$ j4 c& a; U0 A
// Choose coordinates
. X- H+ [% D4 t9 l int x = (int)(Math.random()*(moneySpace.getSizeX()));2 I7 L# r7 _) h& u I- \3 Y3 o
int y = (int)(Math.random()*(moneySpace.getSizeY()));
- R. P0 F* P* ?- l( y& f" u
" `/ s7 H/ _' O; d6 ] // Get the value of the object at those coordinates
8 E* D) Q6 v* O' z9 W. P# V: S int I;
6 J9 p% q3 o/ O if(moneySpace.getObjectAt(x,y)!= null){7 S7 ^. S1 X: o2 Y) b4 X% ~
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();% X* o" K' R9 J& K8 Y
}
; s/ q" ]& K0 v% Z4 b5 X else{; [( }& ^: L" R2 B" [4 H( F+ f
I = 0;0 v7 v* B8 I, t, D( ?) ], s4 p
}0 a1 [- @% S# U- q* K4 b! B
// Replace the Integer object with another one with the new value3 @1 ^4 s8 P" k+ h) A% N
moneySpace.putObjectAt(x,y,new Integer(I + 1));# M/ S5 |- z* b/ U' E, Z. B4 ?& V
}
/ W5 N8 N' a6 _这里面if(moneySpace.getObjectAt(x,y)!= null){. C' w3 d5 h9 |; s; E9 l
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
8 V' Z/ g" v# W }
. m+ m4 l; H# P else{2 k9 ^' L8 R& D( X9 ^
I = 0;
: X8 {0 S8 g- x8 R* q% I4 S是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢? p0 Y( e* G. q+ @
初学者,还请见谅! |
|