|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中3 f0 w7 o' j# `: O) o/ b- G& O2 W& ?
public void spreadMoney(int money){
. _$ z7 a. J2 K8 r/ `9 W0 W // Randomly place money in moneySpace% S- _; r- j2 I+ z
for(int i = 0; i < money; i++){9 m/ `! X0 [, x3 N4 c9 R: ?% X/ D) l
4 a5 y$ Y$ V! V5 z2 q: X" ^ // Choose coordinates2 E9 L- @: k/ o3 f
int x = (int)(Math.random()*(moneySpace.getSizeX()));
9 h( ]8 F5 o3 ~ e Q" I) M int y = (int)(Math.random()*(moneySpace.getSizeY()));. ]) z v1 s; x: r& ^' U& V8 e8 t. L
5 A. \7 y# }& J/ ]2 Y
// Get the value of the object at those coordinates" z& b8 Y$ k. n5 w4 K' H
int I;9 {) V4 [1 p _5 Q
if(moneySpace.getObjectAt(x,y)!= null){! ? v' S6 k: |/ `1 \: j3 B$ u7 n, k5 u
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
/ H$ d+ g: @0 J0 K5 C }
K- U0 y5 J- u5 b4 C' h else{
* A; ~! A( W& n4 M2 L p& f# z I = 0;* w1 t4 Q3 o( E5 Y
}/ s. @ }+ q- ~$ ?: T
// Replace the Integer object with another one with the new value( v7 P+ A* {6 v0 |7 p& f8 t
moneySpace.putObjectAt(x,y,new Integer(I + 1));
( [6 d$ k5 [5 C- Y C3 M; S }, i, C9 O+ g; z) C" J
这里面if(moneySpace.getObjectAt(x,y)!= null){" \5 t+ I+ R( n, U9 A$ x7 p
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
; M" O4 ]9 ^9 d) D1 s }
9 w% r, O# I, i: u: s else{
' U/ T5 O ^! F" Q0 G% l I = 0;
* S4 w$ X Z \+ j) y) H/ [是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
- Y7 X8 T% w1 M( s9 b6 ?初学者,还请见谅! |
|