|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中( v) M/ L& }4 S. z) Y. w& M1 z# ?
public void spreadMoney(int money){
U/ J0 t6 s' A% g // Randomly place money in moneySpace
+ r& P$ @0 C8 `9 D! {) x for(int i = 0; i < money; i++){
( w2 ~# d: m R/ g
5 L* j# l& ^ L" c" Z // Choose coordinates6 k; D h! h* x1 \+ t" E( s" I* l" e
int x = (int)(Math.random()*(moneySpace.getSizeX()));8 I. w3 Z5 A* H D( q6 s7 s
int y = (int)(Math.random()*(moneySpace.getSizeY()));
# s0 g: K8 w- p, Q4 c* i+ @ b# I4 W* d. C# G
// Get the value of the object at those coordinates
2 W$ E* j' N0 B/ }# A) Q int I;! O5 ^% h) B# k/ z
if(moneySpace.getObjectAt(x,y)!= null){
- o; \. t4 g" T6 k2 { I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();- F/ m S: F9 F/ K2 L
}2 g& q6 R4 d; B) P9 @- q
else{
4 H+ `3 ], [. | I = 0;
/ k; x9 E' ~/ G* ?9 ] }
8 t3 h8 }" F3 }& j7 M // Replace the Integer object with another one with the new value
: n9 V& Y5 Z4 e1 C9 j6 b/ v moneySpace.putObjectAt(x,y,new Integer(I + 1));. F( Q; n6 F$ c
}
; Y$ f' @! {) |" z1 K1 k$ G/ l这里面if(moneySpace.getObjectAt(x,y)!= null){% X8 N# @$ q& ~, w; U2 y* u( q
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();( ?1 z5 U" a; u( x5 l7 w; u9 A6 H+ I% q
}2 h3 f3 I! }- }2 q. L" E @/ {
else{
: A" o% w, }( [& ^% L" \' G. I I = 0;, {" g' X' ], B) E& @
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
0 ]/ p& X& Q" ]+ s' G; e- a: D初学者,还请见谅! |
|