|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中( _; V& v/ k1 V
public void spreadMoney(int money){4 N" @% [; N+ Q; t! r o5 ^
// Randomly place money in moneySpace
+ v/ X# k' y+ s/ ?2 H for(int i = 0; i < money; i++){
/ h, d4 o5 n" ]( y r* R
1 B2 `5 i2 B {1 o; d! { // Choose coordinates# V7 N9 K' W( n ?& ]/ H: V( A1 O
int x = (int)(Math.random()*(moneySpace.getSizeX()));( N% S" H0 V/ A9 x, R
int y = (int)(Math.random()*(moneySpace.getSizeY()));
, x' C0 x" z2 r- G" I' A& ]4 Q, ]6 d
7 }- U! q7 ]% ]5 M // Get the value of the object at those coordinates# ]. |' W! p7 e* c7 ?
int I; i* I4 I6 L6 a, ~3 N3 O
if(moneySpace.getObjectAt(x,y)!= null){; H+ }2 {4 I1 \( Y" k' I0 U+ D
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();$ R' R$ z7 b0 Z* \; H
}
- U. J/ U# p% e% N& J, H/ Z2 a else{0 L$ Y# n. x0 L' w3 m
I = 0;
5 u# X0 {: o% p' q* N+ _6 r }+ ~' S4 {5 @- K4 u" Q$ t" J6 ?
// Replace the Integer object with another one with the new value1 i# n1 F5 Y3 S4 ]9 ~' A4 ]
moneySpace.putObjectAt(x,y,new Integer(I + 1));* ?6 p+ H8 W# V1 d
}
3 C$ Q9 {( w. @$ s这里面if(moneySpace.getObjectAt(x,y)!= null){0 w/ A, Q7 ]% [5 f1 p5 s; {
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
4 I5 G; x3 o' {7 c9 T8 Z# \ }
' K. l5 g& z* i+ J else{2 T3 a6 p' V( e( Y4 D# z; S
I = 0;, T. _ h b# V- `
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
) ?: r$ j9 M$ U3 V9 x1 R# L: d7 I初学者,还请见谅! |
|