|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
4 T9 L" @. _* ^) j; X- Ppublic void spreadMoney(int money){
' v+ z' N" Z& N f+ h1 |; @: N // Randomly place money in moneySpace5 r4 C2 C1 d0 P
for(int i = 0; i < money; i++){+ T6 M6 i+ q' y+ P8 B" K" {, |3 m
+ W6 Y6 ^$ F% i+ b' c5 W3 g1 c- { // Choose coordinates$ G9 m6 |( n* ~6 ?! b7 Q
int x = (int)(Math.random()*(moneySpace.getSizeX()));/ ^" [0 k9 e6 K
int y = (int)(Math.random()*(moneySpace.getSizeY()));; ^. W% d7 R! x& p. {
F' @' ~. K& c // Get the value of the object at those coordinates
3 X3 K. M7 A8 d! ?. v7 q3 {# U" s- q int I;
* ?% R6 @7 x" f0 J* V if(moneySpace.getObjectAt(x,y)!= null){
1 ~, M* H7 B) U9 O$ t, u( \9 u- @ I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();9 g7 J( X+ x9 O
}
! M. C5 v7 T1 T a" S* u else{+ o# G2 ~1 y. ~0 b3 S
I = 0;! I k2 O J1 c7 f" Y; a4 H- M
}: N( X' v. |' C( {
// Replace the Integer object with another one with the new value& k" t# M; ]$ z$ {6 }9 J
moneySpace.putObjectAt(x,y,new Integer(I + 1));! B! ?4 u# P. G( ^+ `6 q
}# o6 W5 G3 Z5 r% |& K
这里面if(moneySpace.getObjectAt(x,y)!= null){+ k, }/ J% f: P$ S% h7 N( w
I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
, b! F. }' @3 |. m! V+ O }" ]! j, g' e, E+ b& Z
else{% f" _) e! f/ i& p, E
I = 0;
) i8 `( B, {% G* p- h M* a是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?9 q; S; x2 @' u. k; w
初学者,还请见谅! |
|