|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中3 E/ H* o% M/ F" B
public void spreadMoney(int money){
, [" J- q( }) S2 a$ D // Randomly place money in moneySpace. C8 Q+ Z" g, x6 S. \4 H$ s6 g4 p
for(int i = 0; i < money; i++){
9 J6 k+ j/ P* N' r/ e
; N# x) [( f8 N, _) W* s8 ~ // Choose coordinates
2 ^/ O4 Y4 ?7 L$ A. A8 T ]: t int x = (int)(Math.random()*(moneySpace.getSizeX()));
4 Z) P" D4 f, m8 g. {2 O int y = (int)(Math.random()*(moneySpace.getSizeY()));
a5 m! C$ c8 R( |7 Q. C
3 \6 \, y$ c6 s8 R" _1 C6 g! B // Get the value of the object at those coordinates
/ M5 t" x8 `. p" h; J. y int I;, s; k+ }' F! Z! C; h
if(moneySpace.getObjectAt(x,y)!= null){! G' R H. l' N; }
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
! h9 ?# R. _) p5 i }
$ S; w6 n1 F$ y3 { A else{
' p# D6 p/ n# `: A, v: F I = 0;
" T6 ?8 X! @6 h, }1 ~% U }( f6 H3 a; V" n. O1 e
// Replace the Integer object with another one with the new value
& ]: m% K4 D' C moneySpace.putObjectAt(x,y,new Integer(I + 1));
; W. ]# E: R* y* B. I- u! H }" _ K* f4 b4 K% P- l
这里面if(moneySpace.getObjectAt(x,y)!= null){
& M( p+ _% V% A: q8 ?; c- X/ t I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();& i# K; d$ n! Y7 k1 b
}
3 n7 Z3 [2 s% k* a" `2 j" U else{! C+ y& b6 a. a; Y* L
I = 0;
F- ]( ]& r* N g7 `是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
, {) w4 f# r+ M! o# @初学者,还请见谅! |
|