设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5320|回复: 0

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

[复制链接]
发表于 2009-10-12 09:42:47 | 显示全部楼层 |阅读模式
大家都看过carrydrop的程序吧,里面设置moneyspce时将钱任意分布在空间中! L2 }, M2 k; J. B7 X$ ]6 M$ B
public void spreadMoney(int money){
' H; M" ?7 n1 L7 q4 q5 O    // Randomly place money in moneySpace% K4 m% N9 M. _8 j
    for(int i = 0; i < money; i++){
* }: Q0 Z2 m9 x. M$ ~- J( A1 K. Y# a$ m! b! T9 u$ d5 F
      // Choose coordinates
  x: u3 H5 t' z# g: X      int x = (int)(Math.random()*(moneySpace.getSizeX()));
; Z8 ]/ v# ~  J      int y = (int)(Math.random()*(moneySpace.getSizeY()));5 |8 b; @- Y& C  `5 b

$ g& J# E( r4 H! v2 T' u$ A      // Get the value of the object at those coordinates
( f3 w$ k& h+ v, {$ w( J      int I;
; W+ J' j% v" X9 m$ Y      if(moneySpace.getObjectAt(x,y)!= null){
/ h: Y6 V/ Z+ E        I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
4 a4 }/ @* b' C3 `, i/ b1 z      }
4 N! D  r4 V: [9 n& l* w      else{
& f" o! |# |# a# x        I = 0;
! O2 \: O6 T5 h0 a/ D0 Q: ?      }
, L7 g, h$ {. i% S# \      // Replace the Integer object with another one with the new value
) `& K$ o9 v9 U( e6 q      moneySpace.putObjectAt(x,y,new Integer(I + 1));
4 P0 D: c  z: a6 I3 P5 t! k- ~    }
0 R6 j( P! G# z- l9 {) B+ H
这里面if(moneySpace.getObjectAt(x,y)!= null){7 p# m) ]! }  Y9 u  o( I. \. I3 r
        I = ((Integer)moneySpace.getObjectAt(x,y)).intValue();
( T  Y2 D! ]; `+ n0 s, C3 W      }  S* Z6 m; B9 z" ?7 i/ J1 }
      else{
3 s1 T" n  H" v        I = 0;
6 E& n/ d4 X3 d% S4 F
是在干什么啊?为什么后面的moneySpace.putObjectAt(x,y,new Integer(I + 1));要用new Integer(I + 1),这都在原来钱的基础上加一啊,我怎么看不出来是随意放置钱财的呢?, v+ n6 x2 L* h0 ^) ^* c
初学者,还请见谅!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-16 11:25 , Processed in 0.013050 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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