设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6524|回复: 1

[交流] 看看这段代码的问题

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。. E! Z, H5 }; S& \4 Q: j2 F

$ S. C0 ?2 u& |+ a! c. w3 u4 Q但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
7 @1 t! |5 ~4 b  B
; t$ d, }6 {2 T9 rturtles-own [a b c d k f g h
, }/ `) _6 f0 R4 R  [/ }: d* |5 M  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
+ m; o. w# D9 b3 n]
1 Z/ |9 f& H: m. d5 Hto new
3 K+ ?2 m5 J6 T  ca9 M! [( k+ {- b
  crt 5 * num_of_building
$ d8 E3 M6 u  c  |: {  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
+ K1 L$ _% l6 T0 O# p/ ^) X  scatter     ;;keep center-turtle random positions . l5 L9 S4 x% x' W$ u9 J0 b/ l
  unit_plan   ;;make up the building plan0 W/ B0 h" m, F' q0 _
end. J0 ^8 ^/ k" y! e4 A: y2 o5 m: Z7 ~
to scatter
# Q% K6 \2 b6 k7 }: Task turtles with [remainder who 5 = 0]1 s% S7 A* j! V: C% Z( Y5 B* p! S
[$ Y  a% E2 N  }$ H% T" D0 V& O$ V9 s8 A
set xcor xcor - 6 + random-float 15. `6 T; n4 Y  K9 L0 E( E+ z
set ycor ycor - 6 + random-float 159 x2 Y  ?' P1 K# ^: @  ~$ g' M
]
3 J9 P- Q9 w/ ]" \end8 R, I1 A/ M7 G8 N* z# f' E
to unit_plan % M9 e! g: k; V$ d) F% K" C
ask turtles [
& [; r; k2 P& b$ iif (remainder who 5 = 1) [set a who 6 ~! [7 ?9 \8 n: Y
                          set x ( 0 - Wid / 2 )
7 [' ]5 @% B. x3 ^2 J/ j                          set y  Dep / 2 ]
- v- l) j0 K$ h! S           set b  int (a / 5) * 5' n' f% B: k# I2 O, [) Q9 ^
    setxy ( xcor-of turtle b + x )# N$ U- a7 J( l/ ~7 k! C
          ( ycor-of turtle b + y )7 f7 l! ~  e. y2 y5 L3 x
if (remainder who 5 = 2) [set c who
1 `; u" ^8 M' |4 u- ~: e                          set x ( 0 - Wid / 2 )
4 a' q  ~0 [* o  Y2 }0 ^                          set y (0 - Dep / 2 )  ]
% f, t2 t5 q2 \$ u                          set d int (c / 5) * 5
! r# u+ J& z) p/ ?* x5 t% ~   setxy   ( xcor-of turtle d + x )/ M* ?8 P  ?  t2 M
           (ycor-of turtle d + y ) . V) m; ]5 ~/ N, p
         
3 E' [2 R% q' A            5 i& u  m: j4 p5 p( D/ m
if (remainder who 5 = 3) [set k who+ P6 s4 H) @+ w0 e3 t6 n2 w
                          set x( Wid / 2)  
) |% y% b& t, r: z: j                          set y (0 - Dep / 2 ) ]
7 {4 B; Z+ |- I8 O4 i: }3 _                          set f int (k / 5) * 5
) |( Q& O9 s; _/ t" L2 m" G/ Z  setxy   ( xcor-of turtle f + x )' ^: R/ G' ~) N* J- N+ ~  h
           (ycor-of turtle f + y ) ' _+ b; ]; R9 d3 k
           
% _$ }3 b5 n* ~( l; r           
4 m5 ~  w& E$ Z; zif (remainder who 5 = 4) [set g who
  M. _9 d) |8 K/ E1 Z  J' d2 f                          set x Wid / 2 ! z$ ^/ p) s$ Y
                          set y  Dep / 2 ]
+ `- L, m" P1 j1 P; p                          set h  int (g / 5) * 5
- Z5 [$ x3 D# ^3 M7 c  setxy   ( xcor-of turtle h + x )4 O' n( |4 r' r- a& s2 X# b
           (ycor-of turtle h + y )
/ x7 X% J7 |6 L0 R% `                          ' V6 d: l6 o# t6 H1 w
                          
  N4 x& A* w. X4 P, N                          ]& ~! Q( ^% Q1 g% b0 v
end/ h. U6 J' q! q
. C7 x: O. n/ Z& Z+ T' w- c' t- e
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,. I- S! J) ~8 \4 [/ u6 Z0 V0 D1 I/ U
应该是% j4 ^+ P9 s; a: Y9 [8 X8 S
ask turtles [1 J2 X5 c, I; P; Y
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) b" }3 t3 z2 [* Y/ G" l
                          set y  Dep / 2
' |/ M! O9 w$ @3 [2 y8 b6 Y& v           set b  int (who / 5) * 5
4 Z9 S- R4 \( h  c5 o- @0 n    setxy ( xcor-of turtle b + x )7 y2 L# f1 `: w1 ]7 b2 y  d
          ( ycor-of turtle b + y )]], h+ z. M" l7 j3 p9 V2 U
end
: Q" y( v6 h. Y  @2 [之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-10-17 18:18 , Processed in 0.019341 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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