|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
) q+ J' P$ l2 G8 P& |% a( g1 @public void spreadMoney(int money){ n( H% Y8 S1 N0 r- @
// Randomly place money in moneySpace
4 k; o! O0 g, r. k6 [ for(int i = 0; i < money; i++){) r* X/ u( d* A( Y8 D! g
" T$ h \8 K+ H* o8 C$ a; X // Choose coordinates# c7 k9 e' W5 l! Z/ u. M, l
int x = (int)(Math.random()*(moneySpace.getSizeX()));7 c! a$ P; f( @, P& w* F) o- B
int y = (int)(Math.random()*(moneySpace.getSizeY()));+ s9 G8 w5 G) D8 x+ t) `, R; d
7 R; {) T7 P+ L ` // Get the value of the object at those coordinates" B) V$ G# Z/ t8 J2 R% Y
int I;' B. H' X' j5 X* H) }$ g& H
if(moneySpace.getObjectAt(x,y)!= null){
6 U6 d8 q$ g$ Y& r I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();: {" K$ {2 v" q# z. x J, M' j7 ?
}4 S+ H" [4 d+ p8 g
else{
$ z# {; z: w- W3 w I = 0;; s8 K( Z" Y* n# I% p
}0 n. Y! u1 F2 T- H7 Y
// Replace the Integer object with another one with the new value
+ _* ]" _1 C: r/ z moneySpace.putObjectAt(x,y,new Integer(I + 1));0 q s; Y9 g) b" o" u! Z; X
}/ a+ [& S+ X5 B" u% Q" k* A
这里面if(moneySpace.getObjectAt(x,y)!= null){6 K3 T8 ~1 j( X" W/ b
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
) B# _5 l3 o5 S8 i }
+ n! u* x) G2 S6 I1 x' G else{ l' w6 X+ @( `
I = 0;5 k B7 w" V8 Q
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
% E5 x8 |# h% m% }1 M- i/ I初学者,还请见谅! |
|