|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中' g. D6 J) `7 c, ]
public void spreadMoney(int money){3 E9 Z" w$ f4 d( r, @
// Randomly place money in moneySpace$ n+ b; r0 n$ ]$ j& Y% R
for(int i = 0; i < money; i++){
# R( i; a/ ?. u9 M0 h" H: _% Y
% [8 j. ^( s$ u" e0 m // Choose coordinates9 h# R1 n3 B G2 s4 {, g
int x = (int)(Math.random()*(moneySpace.getSizeX()));( G, n; u, L/ U/ M8 U- W
int y = (int)(Math.random()*(moneySpace.getSizeY()));
. i! f) i: M5 S& m; z Q$ X. z; c
// Get the value of the object at those coordinates, B( j% n& i& y; l- E
int I;6 m4 p: l4 o4 G" @. }# A3 ]
if(moneySpace.getObjectAt(x,y)!= null){1 ` g/ N2 K3 V; g
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();# M) z; H% c& o
}
- S7 ^2 H4 l# h! o2 r* p4 D else{
3 c& x+ t+ j; z5 y- y I = 0;
& X2 m9 n7 p# |6 n; Z, o/ ?' D }; [4 P }. h, [8 a# F$ c; n( f
// Replace the Integer object with another one with the new value2 Q6 X. a- i% \
moneySpace.putObjectAt(x,y,new Integer(I + 1));$ V- v$ C+ N, Z7 ~% j
}# ]" H' r7 q6 {9 g: C
这里面if(moneySpace.getObjectAt(x,y)!= null){
% `% t0 {3 s3 `/ t9 b I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
0 |% m" A# a+ w/ z, Z& g/ [2 H% i }
' C* Y/ I- \! U8 y else{
3 a% J! y4 b# `9 _: i& a5 m& a I = 0;, Y% x; P# s; v$ `3 _6 D1 [
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?6 \# {0 C" F* z% Y9 `
初学者,还请见谅! |
|