|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中$ \ ]! Q0 W5 \+ `
public void spreadMoney(int money){- B6 H( ^( t& z
// Randomly place money in moneySpace
7 ]/ w( v6 L) ?. u7 F5 t for(int i = 0; i < money; i++){! b g8 f3 H6 X& z2 w4 Q1 E! \) o
4 K- X" F2 w1 {& U. K/ Y8 t/ n, Y // Choose coordinates# Z3 N/ { e0 m" k1 V1 `
int x = (int)(Math.random()*(moneySpace.getSizeX()));- A6 i x2 S' a" F
int y = (int)(Math.random()*(moneySpace.getSizeY()));
+ @$ o% a2 a. a. Q5 S _2 C0 a: v- Q. w3 ]1 V% W9 F* M9 @
// Get the value of the object at those coordinates2 v1 {6 H, b& X. K* }1 a
int I;
: b( K: |' I9 t" D if(moneySpace.getObjectAt(x,y)!= null){6 _% j9 y4 {1 M. ?0 x
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
) |( {& N0 D+ l" M }$ }. c/ f- m8 X. z3 |
else{/ G% X* X& G5 ~" M
I = 0;
) @0 m3 w2 L5 t, }- [& D& I/ f }) b, ` b/ N( c3 ]6 Q- c/ c- x" M7 {" J$ S
// Replace the Integer object with another one with the new value
. | H. g# p8 s: P* o) z" N moneySpace.putObjectAt(x,y,new Integer(I + 1));
f8 `0 X s7 R! g3 m$ `4 b& ~9 R }: {0 ~" G2 H7 v' ?, v v. p. _9 ^
这里面if(moneySpace.getObjectAt(x,y)!= null){2 A( c0 g' R; m- k( O7 P$ \% K
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
- p% o$ X/ S. | }
, s: A* \! r. S; C2 \/ }- i" D! ^/ o else{7 L; Z2 d9 C: z& L: b
I = 0;# h1 `* q' z1 J% r6 A
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
/ m/ x1 F& G3 |: J* W/ r初学者,还请见谅! |
|