|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中5 [9 S9 y- e- `/ O$ \0 s
public void spreadMoney(int money){
& t8 T( m0 P* r/ u* t // Randomly place money in moneySpace
) T W: e$ O( _7 G* H: h; D for(int i = 0; i < money; i++){5 ?6 T M! W) i2 B
: H F0 \2 J4 P2 l
// Choose coordinates3 @+ _/ P6 b/ _: t/ @0 t* U
int x = (int)(Math.random()*(moneySpace.getSizeX()));
( [1 E( ]7 _% a t int y = (int)(Math.random()*(moneySpace.getSizeY()));& ~3 W1 M' c. y# s
% }4 c7 J* ?: e. _" D, q7 V
// Get the value of the object at those coordinates
@) S; E* B" @ int I;
1 Y+ Y+ C; _+ n) r" O if(moneySpace.getObjectAt(x,y)!= null){
6 O# N6 L0 \# i1 D I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
' D/ R3 `8 a* `+ j }
: Y% V2 i& J8 m1 B else{
2 j4 p" L1 H: [2 L I = 0;
- Q$ T( ~2 ] i9 V* W/ }* G3 O }
# N, q% h7 \9 g( Y1 Q+ w // Replace the Integer object with another one with the new value
& `* z% b; ]7 O moneySpace.putObjectAt(x,y,new Integer(I + 1));
% P- R1 o5 c/ \ }
E/ O u" x7 e8 d3 x4 B1 H; V这里面if(moneySpace.getObjectAt(x,y)!= null){
8 x- F9 H$ o2 w; u7 z& k I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();2 V% b( [ f1 r) Z+ c
}
* v! Y; Z5 F6 E) U$ T; O8 M else{
/ o* S! i4 ^# A) [ T' \ I = 0;
3 J! o/ V+ \' X1 Q: ?; C是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?# z9 C7 G+ a, w. l3 i
初学者,还请见谅! |
|