|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
) }( l7 u% R0 d9 H' [+ f+ ]public void spreadMoney(int money){8 s, y6 p9 S$ I
// Randomly place money in moneySpace
1 T/ u2 ~+ |% p for(int i = 0; i < money; i++){; Q {( P% j4 Q" l# F5 z
- `8 @$ x+ b/ c# f! P& L. P5 c
// Choose coordinates
+ X' y' T6 T% W b2 D int x = (int)(Math.random()*(moneySpace.getSizeX()));
7 F; a+ B% K$ a4 J* y+ B int y = (int)(Math.random()*(moneySpace.getSizeY()));% s1 W8 R' W z) m) |* m6 K& D
$ G: G* _" H+ v6 p // Get the value of the object at those coordinates- e: r2 S) D+ d2 m: C m& F
int I;' O: t+ K$ i$ q$ H. A7 f% \5 I
if(moneySpace.getObjectAt(x,y)!= null){
O% h: d+ a) c' j I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
0 N4 c+ J0 k7 }- ^% ]; g) I# h# W! V }
$ H8 p: v9 j1 r. x8 S1 \+ y else{
% @4 P+ m1 ^! }+ Y5 o I = 0;
0 v! @( W! o) l" ~7 \! p }
/ M$ L- [# k: S3 j // Replace the Integer object with another one with the new value
% `4 Z# D2 e4 v; Q# }4 U1 u5 A moneySpace.putObjectAt(x,y,new Integer(I + 1));
6 b( ^) ]& G& e, ]) Y }7 Y1 ~7 ], U0 Y
这里面if(moneySpace.getObjectAt(x,y)!= null){! T# n: [% A" }( Y) \
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
V: Q1 R$ N; S- p% o0 B+ l }$ X/ ?9 K( Y7 G8 w; ^1 R
else{9 x4 R* I! a( Z/ a6 a5 Y0 {* I @8 q
I = 0;
5 G; T M9 x" D0 Q3 f3 k是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?# y+ e |0 W& k! E' B9 x
初学者,还请见谅! |
|