设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2757|回复: 0

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

[复制链接]
发表于 2009-10-12 09:42:47 | 显示全部楼层 |阅读模式
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中5 [9 S9 y- e- `/ O$ \0 s
public void spreadMoney(int money){
& t8 T( m0 P* r/ u* t    // Randomly place money in moneySpace
) T  W: e$ O( _7 G* H: h; D    for(int i = 0; i < money; i++){5 ?6 T  M! W) i2 B
: H  F0 \2 J4 P2 l
      // Choose coordinates3 @+ _/ P6 b/ _: t/ @0 t* U
      int x = (int)(Math.random()*(moneySpace.getSizeX()));
( [1 E( ]7 _% a  t      int y = (int)(Math.random()*(moneySpace.getSizeY()));& ~3 W1 M' c. y# s
% }4 c7 J* ?: e. _" D, q7 V
      // Get the value of the object at those coordinates
  @) S; E* B" @      int I;
1 Y+ Y+ C; _+ n) r" O      if(moneySpace.getObjectAt(x,y)!= null){
6 O# N6 L0 \# i1 D        I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
' D/ R3 `8 a* `+ j      }
: Y% V2 i& J8 m1 B      else{
2 j4 p" L1 H: [2 L        I = 0;
- Q$ T( ~2 ]  i9 V* W/ }* G3 O      }
# N, q% h7 \9 g( Y1 Q+ w      // Replace the Integer object with another one with the new value
& `* z% b; ]7 O      moneySpace.putObjectAt(x,y,new Integer(I + 1));
% P- R1 o5 c/ \    }

  E/ O  u" x7 e8 d3 x4 B1 H; V这里面if(moneySpace.getObjectAt(x,y)!= null){
8 x- F9 H$ o2 w; u7 z& k        I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();2 V% b( [  f1 r) Z+ c
      }
* v! Y; Z5 F6 E) U$ T; O8 M      else{
/ o* S! i4 ^# A) [  T' \        I = 0;

3 J! o/ V+ \' X1 Q: ?; C是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?# z9 C7 G+ a, w. l3 i
初学者,还请见谅!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-19 16:35 , Processed in 0.015114 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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