|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中! L2 }, M2 k; J. B7 X$ ]6 M$ B
public void spreadMoney(int money){
' H; M" ?7 n1 L7 q4 q5 O // Randomly place money in moneySpace% K4 m% N9 M. _8 j
for(int i = 0; i < money; i++){
* }: Q0 Z2 m9 x. M$ ~- J( A1 K. Y# a$ m! b! T9 u$ d5 F
// Choose coordinates
x: u3 H5 t' z# g: X int x = (int)(Math.random()*(moneySpace.getSizeX()));
; Z8 ]/ v# ~ J int y = (int)(Math.random()*(moneySpace.getSizeY()));5 |8 b; @- Y& C `5 b
$ g& J# E( r4 H! v2 T' u$ A // Get the value of the object at those coordinates
( f3 w$ k& h+ v, {$ w( J int I;
; W+ J' j% v" X9 m$ Y if(moneySpace.getObjectAt(x,y)!= null){
/ h: Y6 V/ Z+ E I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
4 a4 }/ @* b' C3 `, i/ b1 z }
4 N! D r4 V: [9 n& l* w else{
& f" o! |# |# a# x I = 0;
! O2 \: O6 T5 h0 a/ D0 Q: ? }
, L7 g, h$ {. i% S# \ // Replace the Integer object with another one with the new value
) `& K$ o9 v9 U( e6 q moneySpace.putObjectAt(x,y,new Integer(I + 1));
4 P0 D: c z: a6 I3 P5 t! k- ~ }0 R6 j( P! G# z- l9 {) B+ H
这里面if(moneySpace.getObjectAt(x,y)!= null){7 p# m) ]! } Y9 u o( I. \. I3 r
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
( T Y2 D! ]; `+ n0 s, C3 W } S* Z6 m; B9 z" ?7 i/ J1 }
else{
3 s1 T" n H" v I = 0;6 E& n/ d4 X3 d% S4 F
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?, v+ n6 x2 L* h0 ^) ^* c
初学者,还请见谅! |
|