设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5057|回复: 0

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

[复制链接]
发表于 2009-10-12 09:42:47 | 显示全部楼层 |阅读模式
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中3 E/ H* o% M/ F" B
public void spreadMoney(int money){
, [" J- q( }) S2 a$ D    // Randomly place money in moneySpace. C8 Q+ Z" g, x6 S. \4 H$ s6 g4 p
    for(int i = 0; i < money; i++){
9 J6 k+ j/ P* N' r/ e
; N# x) [( f8 N, _) W* s8 ~      // Choose coordinates
2 ^/ O4 Y4 ?7 L$ A. A8 T  ]: t      int x = (int)(Math.random()*(moneySpace.getSizeX()));
4 Z) P" D4 f, m8 g. {2 O      int y = (int)(Math.random()*(moneySpace.getSizeY()));
  a5 m! C$ c8 R( |7 Q. C
3 \6 \, y$ c6 s8 R" _1 C6 g! B      // Get the value of the object at those coordinates
/ M5 t" x8 `. p" h; J. y      int I;, s; k+ }' F! Z! C; h
      if(moneySpace.getObjectAt(x,y)!= null){! G' R  H. l' N; }
        I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
! h9 ?# R. _) p5 i      }
$ S; w6 n1 F$ y3 {  A      else{
' p# D6 p/ n# `: A, v: F        I = 0;
" T6 ?8 X! @6 h, }1 ~% U      }( f6 H3 a; V" n. O1 e
      // Replace the Integer object with another one with the new value
& ]: m% K4 D' C      moneySpace.putObjectAt(x,y,new Integer(I + 1));
; W. ]# E: R* y* B. I- u! H    }
" _  K* f4 b4 K% P- l
这里面if(moneySpace.getObjectAt(x,y)!= null){
& M( p+ _% V% A: q8 ?; c- X/ t        I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();& i# K; d$ n! Y7 k1 b
      }
3 n7 Z3 [2 s% k* a" `2 j" U      else{! C+ y& b6 a. a; Y* L
        I = 0;

  F- ]( ]& r* N  g7 `是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?
, {) w4 f# r+ M! o# @初学者,还请见谅!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 07:32 , Processed in 0.013018 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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