|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中4 ] H7 E! r8 @" x* X, l
public void spreadMoney(int money){
2 A* e6 x" b, M8 A$ A# Y // Randomly place money in moneySpace6 o) Z1 W' e* u; }/ @0 M& `; N
for(int i = 0; i < money; i++){
% w7 t/ i, {: `: _" k1 L0 F( @ }' G4 w& U5 L1 Z( Z
// Choose coordinates
- T" E! q8 { |4 e3 ~& z7 a& a int x = (int)(Math.random()*(moneySpace.getSizeX()));; L6 H. l# u" y0 p8 R# K( M
int y = (int)(Math.random()*(moneySpace.getSizeY())); X5 J" e. I% K0 N$ H8 \
$ i1 r' M9 l# J7 O) Q- t // Get the value of the object at those coordinates4 X# D, e2 K5 N% L4 q- d3 P2 u/ d
int I;2 e: R5 T8 R" x, U3 v5 D
if(moneySpace.getObjectAt(x,y)!= null){
; s. X8 b4 U! ?$ G. _ I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
F# p8 q$ Y- i4 r }
8 A+ q; R& h. I. ]1 S else{. z! P& ?" g6 g5 U0 I; z( H
I = 0;, i: X/ R- R$ `. y' V* X" C
}5 Y. p r. E) G/ G- H
// Replace the Integer object with another one with the new value7 m( H6 `% O$ [7 I2 V* m, @+ @
moneySpace.putObjectAt(x,y,new Integer(I + 1));
) V _: h( z W; M) o }( e2 w. @$ v2 J0 m8 _
这里面if(moneySpace.getObjectAt(x,y)!= null){
' Z/ g! \7 a& z" ^" S I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
; z; }4 O$ g) B6 X }
. w5 o1 f6 Y! r2 t, n4 A else{$ ^, K# c+ ~7 O( m6 `9 F) e5 L! A
I = 0;$ W" \. K! D6 f& t
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?/ V/ k0 O$ n4 R/ W& a
初学者,还请见谅! |
|