|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中! q e+ G9 g: d, g9 n
public void spreadMoney(int money){8 t# S; V; Z' f k7 X: J
// Randomly place money in moneySpace% }, k3 t$ J+ [. K! P$ s8 p
for(int i = 0; i < money; i++){4 T( V1 S1 F8 X/ m! U' p$ r
) @% B3 [. R* H2 I3 Y5 }
// Choose coordinates! Z \& M. _8 q
int x = (int)(Math.random()*(moneySpace.getSizeX()));( O: T* K' c" k: f% G" E
int y = (int)(Math.random()*(moneySpace.getSizeY()));
5 q# o" P# g B o6 j0 A0 }/ x8 |% o
// Get the value of the object at those coordinates
, ]$ k6 j+ [& e1 ~3 N* o7 C1 t int I;
$ V! K$ k: ]. ?7 \5 I- m if(moneySpace.getObjectAt(x,y)!= null){
1 ]( v8 ?1 ^& u0 s I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();; X7 O6 @3 u7 y8 j' w: y
}
* n( I/ c* l- [) _' v else{, {+ i2 g6 s9 {0 ^
I = 0;
6 o6 A% {, u" k h5 f& \ n: N }
9 K8 T' `; B+ w* ` // Replace the Integer object with another one with the new value/ \; p$ q6 r' P
moneySpace.putObjectAt(x,y,new Integer(I + 1));
2 b& s8 \- u- y# z }
* }- Y4 \+ D8 _! A# w( O这里面if(moneySpace.getObjectAt(x,y)!= null){
$ N% a. a/ k9 M- X I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
: o+ _" z1 q0 E+ U$ y }! W9 ]7 s6 ?4 u: E
else{+ K9 b; F1 a* o2 v2 `4 i) M3 ?; B
I = 0;- k: Z; I* a2 g) f8 x$ ]% b/ K; w. L% Y
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
; {- V! N$ S* z* G1 O9 G% _4 r: I初学者,还请见谅! |
|