|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
& S6 G; u( O! Q* s; A; E cpublic void spreadMoney(int money){
' N: J. e' A, @% P% j9 Z // Randomly place money in moneySpace& _) w/ v8 S4 V+ [
for(int i = 0; i < money; i++){/ j c9 Y/ d- H! ?
9 j: K, g5 r. T% `' c // Choose coordinates: K6 \% |% i5 y
int x = (int)(Math.random()*(moneySpace.getSizeX()));
% J8 F9 @0 A4 C$ T3 _, _8 M$ O9 ^ o int y = (int)(Math.random()*(moneySpace.getSizeY()));
& W _6 |; V. S) i! p; Y9 A: Q; X8 {
& M4 o" D5 o! x. j/ t // Get the value of the object at those coordinates
* Z1 d( L0 v: h" E+ w( ] int I;8 B3 G% c- L( O# | Z
if(moneySpace.getObjectAt(x,y)!= null){
6 z! l. G3 ^( h2 @ I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();" k7 P- S3 f; U: `
}
" M# S c7 O- l' v* |. @* s1 g else{3 Q/ }7 _% O7 Z; C
I = 0;+ S! J: M, A( Q2 f$ u7 Y5 g6 T3 G
}& z+ j! x' |9 ]- }4 h! b
// Replace the Integer object with another one with the new value4 V: T3 |! }! W( [1 v
moneySpace.putObjectAt(x,y,new Integer(I + 1));2 \% e$ @3 L* W4 k2 ^5 M
}7 b( K. X' q# m& J
这里面if(moneySpace.getObjectAt(x,y)!= null){7 \& V& x3 e- |6 J# X) v2 q
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();1 T1 e# \1 N1 U; z ^- o- R
}0 b" E% `+ i v _
else{: {1 x+ B) m& j% ]4 f* k
I = 0;1 f0 f2 V# K9 A5 j3 ?6 C0 O
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?' ?$ @' S# R0 o
初学者,还请见谅! |
|