设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3583|回复: 0

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

[复制链接]
发表于 2009-10-12 09:42:47 | 显示全部楼层 |阅读模式
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中
3 ~& M# ^; J8 V  `' `1 S$ `public void spreadMoney(int money){0 @% E1 }+ O) k$ \
    // Randomly place money in moneySpace
  T, R' Y( ^2 N    for(int i = 0; i < money; i++){0 k" Z& i1 X) V0 w$ _7 S5 M4 T

/ l3 [, e( o% N5 m" X& ~      // Choose coordinates  ~) D/ G& t1 y
      int x = (int)(Math.random()*(moneySpace.getSizeX()));
  Y- J  b1 ]) c" \8 v0 l7 e# d* X      int y = (int)(Math.random()*(moneySpace.getSizeY()));
3 e' D2 D1 K: r5 ~! @& ^: T; f3 e  }/ N& q0 p; B+ Q
      // Get the value of the object at those coordinates
- V3 K7 ~  }, V, z' B3 r  V      int I;! W" \  R) F1 }2 g; a
      if(moneySpace.getObjectAt(x,y)!= null){6 T3 s$ `1 E3 p
        I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
/ e9 u$ L2 ?6 s      }# @) o/ G! e* F* K
      else{' x- M' J9 {" {  [5 [: N
        I = 0;
1 ~, a. @9 |, {/ o3 B+ t      }/ |/ A- ]/ X+ R% s; F- \
      // Replace the Integer object with another one with the new value
8 _% }* l( y6 r' v$ M' e      moneySpace.putObjectAt(x,y,new Integer(I + 1));
6 r) {* `1 b5 Z1 N3 z' n( d    }
9 I4 j4 K3 n- p
这里面if(moneySpace.getObjectAt(x,y)!= null){; p* z7 b) G" B, Y" l
        I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
) n: l" E) R) V8 S% H% h, F' @: C! [; U      }" q, }* w7 D% r. s0 U
      else{3 H5 L% M# U3 D8 m) t1 Z
        I = 0;
5 t  a  {: u  @3 U2 x- W
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?* E+ X' W1 B' t- G; w: V. R, s- j8 h
初学者,还请见谅!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-4-4 12:01 , Processed in 0.018987 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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