设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8556|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。9 K# G' a, U  A1 x( O

" ^4 d1 ^3 v; D2 w& K3 G但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
, X8 d$ N1 z! H9 n) w4 W; H  m, c8 g$ P/ m4 b( ?/ A
turtles-own [a b c d k f g h
& ?% ~9 |2 Z; H. C7 T' S  x y     ;; these are the leaf-turtle's offsets relative to center-turtle   E3 A5 j2 X" L8 A/ P
]
& n  [1 w3 ^4 i6 N: d' W4 jto new
' j  H1 c2 P* _6 N% y( _  ca
# A. Q* [2 e9 O& i$ }; Q% C! Q9 L  crt 5 * num_of_building! i) [, v2 e7 K8 I8 p
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. |9 ?3 ]* G! U6 q% \4 ?
  scatter     ;;keep center-turtle random positions 4 U6 D4 \/ q3 t7 \9 C
  unit_plan   ;;make up the building plan
+ m6 A& y3 L* j; R- `( Oend! g0 H+ w2 e" ?$ N% D' F3 a
to scatter& c8 j4 M9 x4 Q9 p( F% N2 f
ask turtles with [remainder who 5 = 0]
: C) x# n, L8 |[
, K" k5 ^' L1 Y& R: L: Q  Xset xcor xcor - 6 + random-float 15
$ H4 L- ^  f) \, m9 f& L5 Rset ycor ycor - 6 + random-float 15  ]4 N/ H# `$ D3 X6 \
]/ ?" E/ B8 t6 ^5 q/ Z8 ~1 ~' Y
end
. Q; C+ t$ L& |# C% A4 {7 Wto unit_plan " R+ B$ Y) p6 R9 C# c
ask turtles [( f" Z6 J$ n5 P1 Z0 y8 m
if (remainder who 5 = 1) [set a who 8 ]# t. b4 T: Q( ~1 j* Z
                          set x ( 0 - Wid / 2 )
/ n1 z( N; R' J6 d                          set y  Dep / 2 ]- m& g% {. C  S( H1 U' c7 R2 h4 a
           set b  int (a / 5) * 5
* h' d# A, T) A' x4 ^: {8 h    setxy ( xcor-of turtle b + x )) Z# d2 s2 s" A
          ( ycor-of turtle b + y )
7 ~$ e/ V5 \5 t. dif (remainder who 5 = 2) [set c who8 x; Z& f% p* h+ ~7 ?
                          set x ( 0 - Wid / 2 )
) E) C9 G3 i/ m7 _. i' J                          set y (0 - Dep / 2 )  ]
# e. W5 I# G: Q/ t; L& _$ y                          set d int (c / 5) * 5
5 L) \* G! c7 G$ y0 D   setxy   ( xcor-of turtle d + x )7 E. S0 i1 H/ J6 U
           (ycor-of turtle d + y ) 6 V; T6 Y6 o2 S& b. ~4 x6 Y; `; N
          3 ^2 j! l& s# _
            1 ]# ~7 f; E/ p6 n" S  N
if (remainder who 5 = 3) [set k who: V$ I8 {/ v- c  N7 y$ L7 ^6 {" m
                          set x( Wid / 2)  
' O. J* y6 }. S  A- R8 s! U; b                          set y (0 - Dep / 2 ) ]% v9 d1 S0 A# H5 m
                          set f int (k / 5) * 5
$ o( [+ R4 h% ^2 P& `  setxy   ( xcor-of turtle f + x )
9 E$ T' b- Y- x" M* C           (ycor-of turtle f + y ) ) z1 F( P+ V8 I; ~' u& _
           ! N+ l: r  ^6 \9 F( H4 l: {
           8 }( I, W. e: L; g2 H
if (remainder who 5 = 4) [set g who6 ]- s  e/ ]4 H
                          set x Wid / 2
$ }. v2 {$ h2 n) A* J% }0 P# g                          set y  Dep / 2 ]
0 W5 T. n6 B. `1 Y  C9 h! d! x                          set h  int (g / 5) * 5
! G6 I7 f' i' A0 Y/ \( r  setxy   ( xcor-of turtle h + x )
1 ^7 {4 E2 v, `           (ycor-of turtle h + y ) 4 w2 N- S! D3 m9 w) [& n% Z
                          
: I7 }# Y$ \2 _. N                          4 `7 u' n, |+ O* m
                          ]* }7 D$ p- z) L
end) J6 l; @# p2 H2 W$ ~
0 J& D5 D7 I2 m0 K0 P
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,$ N" J6 `& q, |$ `
应该是) f, U8 B* Q4 n9 T
ask turtles [3 V: `' `8 A7 i0 W+ H- F
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) j% B- ?8 f! Z% R; W* K: a# c- @
                          set y  Dep / 2 # h1 @7 g6 @+ A  T$ S+ X! b; q9 ^
           set b  int (who / 5) * 5
, Q9 e  N$ [- n    setxy ( xcor-of turtle b + x )
2 J3 y) I* U$ `' U4 ~' C+ a          ( ycor-of turtle b + y )]]
, \2 w) r7 D& p0 _- t8 X) i" ?end+ w3 B4 J* D7 `! q8 t
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-11 07:20 , Processed in 0.016388 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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