|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
, `: {* E; R# G4 F: Gpublic void spreadMoney(int money){
9 H* U- h. F) x, m. _" y" M2 ?8 e( ^ // Randomly place money in moneySpace8 E# C9 v* i+ C2 q1 w7 ~
for(int i = 0; i < money; i++){
' N4 {* ?! B, T+ X7 t c
! m" l2 e$ y. N // Choose coordinates" o" N* M- O! D6 d, |
int x = (int)(Math.random()*(moneySpace.getSizeX()));
+ v5 m- m' F" y ?2 I int y = (int)(Math.random()*(moneySpace.getSizeY()));% S) B; b; e5 T) E8 v
0 r) Z3 o0 \, B" D+ V
// Get the value of the object at those coordinates
E/ L* U# M6 |0 S/ t' U0 _, d3 l% w# b int I;
' o4 U. J! l6 T, V if(moneySpace.getObjectAt(x,y)!= null){5 y- n& S; M! Y- j) U# G: ?. t. |
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();1 J6 f/ J; P( Z* W
}
! k. ^' U* [7 j else{. \5 X7 C- K$ H& }5 ~4 R+ N
I = 0;( Y+ A- m z5 ?& b
}
8 n3 n# K8 R4 Z // Replace the Integer object with another one with the new value6 e/ x& N& X" F( s
moneySpace.putObjectAt(x,y,new Integer(I + 1));/ a9 z7 `' S# M- _( u
}
8 h9 \1 B: Y# v- h# h8 B; S# o这里面if(moneySpace.getObjectAt(x,y)!= null){
2 n- c: M/ p' d! `* @3 ?$ w, e1 V I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();3 j2 p n! E" u- N7 ~9 g/ U3 k/ |
}
+ i) ?7 V) |& L& s* H7 i1 v2 R/ J6 J else{
4 F5 c8 [; v& U s& y I = 0;
! o& O) J% z: N f9 v0 C# N1 u是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?0 K% R, O8 M e1 |$ r
初学者,还请见谅! |
|