|
|
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
$ I% {' Q4 V) V# c ~# `public void spreadMoney(int money){1 M: n& {! E0 e7 k: e+ g
// Randomly place money in moneySpace
$ m" E7 S: [* G) C1 y. e# U _ for(int i = 0; i < money; i++){
" ^. T0 g) W3 j6 F
- w3 m& a l( A // Choose coordinates; {6 d( O3 x2 Z/ K& A
int x = (int)(Math.random()*(moneySpace.getSizeX())); Y! H4 ^, U$ d" x! c4 _2 r
int y = (int)(Math.random()*(moneySpace.getSizeY()));
/ f: ?% V4 G7 }+ o
+ a# J: J# S% s1 K6 d1 Z // Get the value of the object at those coordinates1 r( M- q- x) M4 U+ n7 ~
int I;, |, P" q8 d- D8 D6 I: V
if(moneySpace.getObjectAt(x,y)!= null){
4 p6 w, n8 N t4 h$ c I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();( Y J7 `/ p8 e7 r j
}; E2 N I A b, P: j2 |
else{
( D" t; E" N! j6 F1 c: o% a7 s* ~ I = 0;
. C& r \/ b" a7 B$ T. }6 k" _ }% a$ k/ G2 u' o2 z* q' Q2 s
// Replace the Integer object with another one with the new value1 G6 L* T/ [$ S7 R# }4 o5 X
moneySpace.putObjectAt(x,y,new Integer(I + 1));
7 Y/ y0 Q% A( R: Y: V* c }
+ L5 k) z2 P% K# S7 K6 l. @" d1 y这里面if(moneySpace.getObjectAt(x,y)!= null){
n5 r) I. w% n8 G( T( x I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();5 P# Y2 k3 n P- ?6 A# [- R- z
}
/ |! |6 u8 n) L9 H& E4 k9 r else{
( N2 R9 l+ g8 s6 k! K+ ^) U& Q I = 0;
" p- M: P' M8 h D5 B6 A是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
6 s0 r6 i" x' s9 S初学者,还请见谅! |
|