|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
1 o( \1 o6 e" f3 f$ d' u8 Gpublic void spreadMoney(int money){9 Z1 D/ D7 K' \+ p
// Randomly place money in moneySpace% Z$ X4 K8 z. T. F( F4 V6 o
for(int i = 0; i < money; i++){3 ~- y$ h3 C/ N
0 Y j6 V% S# y7 i, U, b2 K8 q; E // Choose coordinates
# d+ P7 }7 }5 @1 P3 } int x = (int)(Math.random()*(moneySpace.getSizeX()));5 u6 I; b3 ^1 N* z/ N
int y = (int)(Math.random()*(moneySpace.getSizeY()));
4 o, h5 x' A0 l& s, P3 m9 p) n7 N+ [# L7 `( k: J
// Get the value of the object at those coordinates
* W, X: e& O0 V; z* [ int I;
+ z9 D+ b$ \$ Q9 u6 h3 j if(moneySpace.getObjectAt(x,y)!= null){
: C; c1 K/ |4 X; A7 c; O* c- W I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
3 H* x- R/ S& l: K }
& Z% b1 H0 Z, H5 v$ y4 @2 Y else{/ S' Y Q4 @$ I& K/ y
I = 0;3 O5 V M! j) ]
}
/ C. ]8 X& |6 @9 V6 a // Replace the Integer object with another one with the new value
0 A3 R, D) C* ` moneySpace.putObjectAt(x,y,new Integer(I + 1));
7 e) l K1 G7 x! y }
" Z# T( u! h/ y! M这里面if(moneySpace.getObjectAt(x,y)!= null){% O* q8 j3 w" o p
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
* h6 y! i* V' r8 ^+ u }% J1 w+ r/ {- a4 N8 K1 ?+ i2 d1 P
else{
4 }2 b$ n, u9 c& p I = 0;
3 P9 U# e# B3 O Q是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?6 F2 r! P( v6 m8 M" E, Z
初学者,还请见谅! |
|