|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
) J* R* p/ [% G6 D7 qpublic void spreadMoney(int money){
) Z, }8 P- F2 U // Randomly place money in moneySpace; F$ ]5 ?: S& j# R" c* T
for(int i = 0; i < money; i++){
P' b9 q3 { z. ?* h2 h [4 I0 x5 p/ u V
// Choose coordinates
& L: `" \/ V( }& d' C7 h( i int x = (int)(Math.random()*(moneySpace.getSizeX()));
9 n5 F' G6 n0 o5 k) V int y = (int)(Math.random()*(moneySpace.getSizeY()));: U" C0 y' m2 y7 e( f k
, v( p$ j" n' s i7 I7 P3 t
// Get the value of the object at those coordinates
! B) I+ ]4 L- W& T int I;0 _8 u: C- q8 U+ n
if(moneySpace.getObjectAt(x,y)!= null){
8 Y- J; ?0 D$ r& K2 \ I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
7 G9 t* Z' V& o x, g( W0 D }! K0 X: B/ i/ h" F& O; b" `
else{
7 P, q$ X4 z3 S& S' g) c I = 0;
3 o2 V9 Z! d! F( r( d }! G1 ?7 A) P- ^& K. Q
// Replace the Integer object with another one with the new value
3 Z$ L9 r) ]5 P4 ] moneySpace.putObjectAt(x,y,new Integer(I + 1));1 J# @7 q1 V" E0 X4 B: B
}
; F, J7 k$ A$ v这里面if(moneySpace.getObjectAt(x,y)!= null){
; D* m) t! q Y/ O6 p I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();" Y+ P4 [, b, V; P$ l/ z
}8 _& F* L7 K' Q
else{% s, a5 ~( a3 {# `
I = 0;
& n! H' P; s( S. b o是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
4 Z7 l# w) ]2 J7 a6 N初学者,还请见谅! |
|