设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4901|回复: 0

[求助] 应该是个简单的问题

[复制链接]
发表于 2009-10-12 09:42:47 | 显示全部楼层 |阅读模式
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
0 h& g) h2 {& N) v: Bpublic void spreadMoney(int money){$ j. a8 B" a; l  n- z) J1 [% h
    // Randomly place money in moneySpace. y" B3 i3 s% ?1 w. S, u
    for(int i = 0; i < money; i++){
3 l4 X/ Y6 j( {, W( K$ H0 t5 e5 }$ j4 c& a; U0 A
      // Choose coordinates
. X- H+ [% D4 t9 l      int x = (int)(Math.random()*(moneySpace.getSizeX()));2 I7 L# r7 _) h& u  I- \3 Y3 o
      int y = (int)(Math.random()*(moneySpace.getSizeY()));
- R. P0 F* P* ?- l( y& f" u
" `/ s7 H/ _' O; d6 ]      // Get the value of the object at those coordinates
8 E* D) Q6 v* O' z9 W. P# V: S      int I;
6 J9 p% q3 o/ O      if(moneySpace.getObjectAt(x,y)!= null){7 S7 ^. S1 X: o2 Y) b4 X% ~
        I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();% X* o" K' R9 J& K8 Y
      }
; s/ q" ]& K0 v% Z4 b5 X      else{; [( }& ^: L" R2 B" [4 H( F+ f
        I = 0;0 v7 v* B8 I, t, D( ?) ], s4 p
      }0 a1 [- @% S# U- q* K4 b! B
      // Replace the Integer object with another one with the new value3 @1 ^4 s8 P" k+ h) A% N
      moneySpace.putObjectAt(x,y,new Integer(I + 1));# M/ S5 |- z* b/ U' E, Z. B4 ?& V
    }

/ W5 N8 N' a6 _这里面if(moneySpace.getObjectAt(x,y)!= null){. C' w3 d5 h9 |; s; E9 l
        I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
8 V' Z/ g" v# W      }
. m+ m4 l; H# P      else{2 k9 ^' L8 R& D( X9 ^
        I = 0;

: X8 {0 S8 g- x8 R* q% I4 S是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?  p0 Y( e* G. q+ @
初学者,还请见谅!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-4-20 13:32 , Processed in 0.018489 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表