|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
2 X1 \9 b% ^8 y, Hpublic void spreadMoney(int money){' M% @: z" _* w4 J3 W8 w1 A
// Randomly place money in moneySpace
% |$ s1 G2 x o5 v# i for(int i = 0; i < money; i++){# K, i" V4 ` P b
1 A4 m1 W8 v' w // Choose coordinates/ u! l* c9 B* f/ P
int x = (int)(Math.random()*(moneySpace.getSizeX()));
+ m9 i l, Z7 y7 f8 [ int y = (int)(Math.random()*(moneySpace.getSizeY()));
8 I4 M' X# L2 }+ i0 g
! R2 e( k: t. @+ Q( c" M+ p. L // Get the value of the object at those coordinates
# Q/ \+ m2 Y; A- i+ f$ W4 A4 }+ d T int I; E0 v7 }6 p& s) _1 ~
if(moneySpace.getObjectAt(x,y)!= null){- L* g( O, H4 I: h8 ]
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
6 `( e& Q& _8 ^, g' r3 _0 E }+ } X6 E3 t4 _! j
else{
: t4 @/ l6 {9 u6 k I = 0;
( N2 G8 X4 v" p: b- M0 G }
" u% N- Y) R/ I: b- `. s. W // Replace the Integer object with another one with the new value
% b, c+ U. E Z moneySpace.putObjectAt(x,y,new Integer(I + 1));" H; d' Z8 O S. k
}( w6 Z+ \: u; y$ O. d) y" a
这里面if(moneySpace.getObjectAt(x,y)!= null){& R+ P1 c: J& i8 {3 E
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
8 i8 M. v2 Q7 H8 f }6 `. k! t& K; T9 D7 R+ `& Q; u
else{9 i2 s% n4 {1 g) ~3 i
I = 0; E* s1 C# ~! F
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
. O7 H- U1 k' [" j; J! M: I初学者,还请见谅! |
|