设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4102|回复: 0

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

[复制链接]
发表于 2009-10-12 09:42:47 | 显示全部楼层 |阅读模式
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中$ Q. W; k0 X' M2 B5 G4 y
public void spreadMoney(int money){' ^7 f7 R9 O) }" Q7 f
    // Randomly place money in moneySpace9 l( r+ z( h, V% ?4 U9 w5 y
    for(int i = 0; i < money; i++){: y0 t+ N! o; e0 B+ L
7 c, l$ Z+ l! t; L" g
      // Choose coordinates
% `0 E* A- D) a: f* H" W  ?      int x = (int)(Math.random()*(moneySpace.getSizeX()));
; b% o( k: H# |6 U      int y = (int)(Math.random()*(moneySpace.getSizeY()));/ P9 u' Z- A2 X$ O
* d* p! O$ ~! z! Q
      // Get the value of the object at those coordinates) ~" v9 r& K7 z: }) H' V
      int I;3 P* O9 y) N! l( T) r
      if(moneySpace.getObjectAt(x,y)!= null){
- |; p, \9 I, a) `! H6 h% x8 d        I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
6 k3 s* S, m  K2 o: b: `      }
/ A1 h2 R* i: e0 W$ P8 U      else{; z! j0 Z- h0 n; C, D" v! g& K
        I = 0;
. {5 h7 b+ ^# N5 w8 I- M      }' n. G# w5 |% @$ q
      // Replace the Integer object with another one with the new value* e* P- a& T/ h; V) m
      moneySpace.putObjectAt(x,y,new Integer(I + 1));/ ?/ p0 K& k: _% q
    }
  y+ Y) a- o9 @' W. W
这里面if(moneySpace.getObjectAt(x,y)!= null){
  C/ B! e& l- s$ E; k' _) Q5 A; v) V        I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
0 c8 [9 d: u2 e( ]/ J      }
' N' V; \7 L2 p0 V# G      else{
7 R9 X) G' T" B& u" U- E        I = 0;

2 q7 \0 i: y8 G1 W+ @& h! ^是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
/ g0 I6 L, F2 Q' D6 q: s初学者,还请见谅!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-14 15:16 , Processed in 0.012164 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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