|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
2 b. b* w' ?0 G2 m/ v epublic void spreadMoney(int money){
8 Z! u1 ^! n6 N$ C- ?1 S2 @ // Randomly place money in moneySpace
$ l' t h6 b4 J4 F0 ] for(int i = 0; i < money; i++){
6 Q2 v( T$ @1 E* A3 ]0 t
7 T: B/ I- m: Y5 F# B // Choose coordinates( f6 {5 [7 E N0 A
int x = (int)(Math.random()*(moneySpace.getSizeX()));# @0 m% h5 f: o
int y = (int)(Math.random()*(moneySpace.getSizeY()));, Y( M3 |* }2 z) L# I
4 ]; [) D# Y q/ A" t
// Get the value of the object at those coordinates3 o1 |0 d$ i3 Y+ u+ {- L9 r) C( x
int I;
( U0 S1 w& k9 A if(moneySpace.getObjectAt(x,y)!= null){
! X( D5 j0 C: L3 T7 k! `. @ I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();, @* O) ^- \3 k# x+ ~( a
} D7 W$ f2 j a* B2 B& t6 b ^! g, d" p
else{
; @8 m- s3 y9 Q9 a: V I = 0;
% {( G b8 [; R4 d) @4 W- | }
" g1 E3 T F/ |6 ~( m5 b0 a // Replace the Integer object with another one with the new value
" ~' L' @! J: p3 n0 L moneySpace.putObjectAt(x,y,new Integer(I + 1));
! e: g. t. O% s9 E s6 X }3 s7 I5 o' T5 t& X! `$ s
这里面if(moneySpace.getObjectAt(x,y)!= null){
+ q& K5 D# Z( P! M I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();3 Y( x( x3 Q6 d j) e% A+ w# A
}6 J2 S- A- N; k" n' `' {0 K5 N
else{
- g. p3 C4 H% V3 P I = 0;! `5 s, v2 a1 F) f; n0 ]
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?# k0 `4 K6 d8 O, a/ n8 _0 O
初学者,还请见谅! |
|