|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中( C8 S; N5 f( i& t. a( z
public void spreadMoney(int money){' i- ~! g% a8 |& ^7 U
// Randomly place money in moneySpace
_/ f7 r4 L( v, v7 d. E8 m( @ for(int i = 0; i < money; i++){0 Y# U0 M- f9 B6 |* p
& \- |: \. w( K3 w
// Choose coordinates
- P0 m; h: [: H( r9 I9 n! C. k7 } int x = (int)(Math.random()*(moneySpace.getSizeX()));6 `3 C, p6 X5 I+ E
int y = (int)(Math.random()*(moneySpace.getSizeY()));
! D- ~9 [7 p$ @6 V
; h9 u! J: |9 h% [ M) k# V3 f: @7 l // Get the value of the object at those coordinates
* D, v* v ^8 z2 f( n0 U% J int I;6 j, n% i3 s9 g7 | w
if(moneySpace.getObjectAt(x,y)!= null){5 f: B+ t8 J0 i: f! p+ v
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
6 W3 B. s) g* c$ O }2 ^% @$ e& y0 g. s1 [, a ^
else{/ e+ ~7 O. j$ c& U
I = 0;1 ~5 w5 e# z0 l. Z% R
}& A6 }1 u% N; F$ G5 a. o" m
// Replace the Integer object with another one with the new value
G' m0 F/ Y" ^" v' c( A moneySpace.putObjectAt(x,y,new Integer(I + 1));; s0 J s9 h: z4 t
}
2 e: e! s$ K8 M, C: u3 ?这里面if(moneySpace.getObjectAt(x,y)!= null){
" h7 W: u4 X$ \* x I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
: M2 O- ~' a. f! | }# Y# H( b5 E# I; { j" E
else{: [8 Z$ f% L0 _, D% e; ]
I = 0;
) E+ w9 l# O) M( T9 M是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
- P0 o% X6 K, O* l) X# q; y初学者,还请见谅! |
|