|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
$ b3 v( m: j7 v' m, Xpublic void spreadMoney(int money){
5 i4 U* H2 b2 g, s% C2 R7 d6 h% J // Randomly place money in moneySpace
" ~$ j( I' l2 y: b+ D for(int i = 0; i < money; i++){# V: h& o9 I2 P2 ?% M2 ~
3 l, \/ n! {1 l3 K4 H; k // Choose coordinates
T0 q" S" Z1 k int x = (int)(Math.random()*(moneySpace.getSizeX()));
: ]6 j) p3 _; L5 ?/ k int y = (int)(Math.random()*(moneySpace.getSizeY()));. u& e, C6 b2 `& t9 P: i
* X# C) P$ h& P
// Get the value of the object at those coordinates; J) }: F, I8 M; b
int I;( O# n8 {: P/ u
if(moneySpace.getObjectAt(x,y)!= null){
' X1 ?+ y3 Z: \4 |. j I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
5 z; G8 Z* }! c; a0 Q9 ]( T& T }
3 l& J2 I. m, ?% I0 [: y else{9 Q4 W) ~/ N% \4 n. n6 j* o
I = 0; N: c+ _8 x3 X- c
}
, g( @' I& {' U6 c" w5 B, ~ // Replace the Integer object with another one with the new value
5 ^: g! D0 \' Y: C9 O moneySpace.putObjectAt(x,y,new Integer(I + 1));
$ }; p* ~$ o* p }+ Z# ]/ I0 u1 w
这里面if(moneySpace.getObjectAt(x,y)!= null){- I F& l9 W. q' R! T8 m+ d, Q
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
2 ?4 E! ^# F" @, j, H }
' x) Y9 o h7 G else{1 q( E ~* {" A# S# L$ ?& O+ P
I = 0;0 D6 f. v/ q$ T, K9 s& j* O
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?1 c# [( |. y6 N7 c6 n) }3 ^
初学者,还请见谅! |
|