|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中1 q, a1 }! l8 a6 N
public void spreadMoney(int money){1 p8 m# K7 f. [
// Randomly place money in moneySpace4 K6 ^6 G) u$ B
for(int i = 0; i < money; i++){
% p' F7 {* N/ h7 T* ?
/ K2 {) e0 r1 c% @9 g& Y6 I" ^/ s // Choose coordinates
( H# p7 ]$ R6 f9 Q int x = (int)(Math.random()*(moneySpace.getSizeX()));5 @) C/ m8 o! [% f3 ]8 r
int y = (int)(Math.random()*(moneySpace.getSizeY()));! K! ^2 k" w$ r* x( }. c+ W$ B+ |# p
& [: K; T/ R3 l D. F4 \- p1 m // Get the value of the object at those coordinates2 d. y; U# Z: e
int I;% G: p, y) }, r v
if(moneySpace.getObjectAt(x,y)!= null){' K6 `. s( @0 x6 {: W0 O3 D
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
* b2 i1 I; i$ R2 H" j }4 m9 U2 Q9 C5 o# A0 r5 k. f
else{
/ o- s0 U* {& T- t4 u I = 0;5 M9 d3 x; L) D8 X
}7 g1 n+ v: a: f$ R$ }# l3 \" C
// Replace the Integer object with another one with the new value
, I1 M8 o' @; S moneySpace.putObjectAt(x,y,new Integer(I + 1));
9 X; b7 W& y7 o7 F y }
! e3 h0 B: G- h4 T" @这里面if(moneySpace.getObjectAt(x,y)!= null){* v* H. _: U' ~& X% Q
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();5 v; T: \. H8 k
}
' x1 k. d$ \0 E T/ q& j. T; u else{" ~) B- J7 h3 \5 i/ q
I = 0;. ?) Q8 R) _) h8 b
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?, ^+ R( G- n. o+ A4 g9 H- _
初学者,还请见谅! |
|