|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中! A! ?2 P5 D. g7 v
public void spreadMoney(int money){: F5 K2 f: D H) w
// Randomly place money in moneySpace
( `/ Y" ^1 ]+ u- H$ J7 T. I for(int i = 0; i < money; i++){) f( [- S: ?7 G: ], F1 q
7 D8 c$ T1 M h+ O, P // Choose coordinates
; Q1 p0 Z% `. ~ int x = (int)(Math.random()*(moneySpace.getSizeX()));0 }2 z! K9 y6 k5 f" u" C& C4 O
int y = (int)(Math.random()*(moneySpace.getSizeY()));
1 j0 T) ?4 ?: E: G! k2 u* u7 j( G) G( {7 J1 V+ ^
// Get the value of the object at those coordinates; Q+ n7 ]% e' W% h
int I;+ l; `1 O7 R' W! U1 [, s3 k3 X
if(moneySpace.getObjectAt(x,y)!= null){
8 Z$ P/ g* v5 g! \: e ^ I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();" G; j; } ?5 {; r, Q u
}* e) Q7 p t5 o0 Z
else{ m$ R: v6 u7 N4 R' s5 W
I = 0;
& G) H0 J2 q; o B }
! w& K/ W6 J. J& v // Replace the Integer object with another one with the new value* S/ e) M& p" \$ q- C
moneySpace.putObjectAt(x,y,new Integer(I + 1));
7 m- `( Q" z3 |; O3 z& D$ W* Z }
7 Z7 P$ _) f1 \/ h. I1 ?这里面if(moneySpace.getObjectAt(x,y)!= null){
: [/ Y* F6 @1 r( F I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();. u! I# A: i& W# X4 P1 A$ J& P
}
o, H# T0 o! }( U7 | else{
5 s! h4 G5 e; Q. |/ ` I = 0;# v" x; w: t) y2 z# z! [
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
+ I5 p6 \0 A$ `# m5 ^初学者,还请见谅! |
|