设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7649|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
) i$ |1 Q  q0 a4 V* }" m# k5 D3 I- D$ x2 K
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
4 Q8 g" `5 i7 N) y- l8 ^3 ?, F1 Z( m& X' I7 Q8 R/ B
turtles-own [a b c d k f g h5 z- d0 g2 g  i9 S
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ( e; i6 c2 k0 l" M9 t
]0 e+ s2 b6 k- S
to new
6 j" @& ?' q( i: }9 n  ca; g4 ~, C5 ^- z, F5 L
  crt 5 * num_of_building+ o. P5 p1 Z0 X5 ?! Z& |. Y
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
$ Z0 W  B" u9 G  scatter     ;;keep center-turtle random positions : K1 m7 p( v1 z+ A
  unit_plan   ;;make up the building plan$ K9 W+ n4 V! n; P7 H
end9 N6 U- x7 P# a4 j
to scatter0 d! x$ F! h7 h! \( H# X* X$ K' [
ask turtles with [remainder who 5 = 0]
. d9 A( z) l# Y[: M1 l$ j  w' l
set xcor xcor - 6 + random-float 156 f1 m: g7 z5 m, |6 t
set ycor ycor - 6 + random-float 15
! R0 z: N3 A( R( B4 h9 v]
7 I% h" E) o7 Q$ B2 K! oend
  V5 s+ H& ?( l# ]  Y7 j! B2 ?to unit_plan
/ E7 l) q* t# g. D( Xask turtles [
  f! }9 Y) g  M6 t. Y$ [( a$ lif (remainder who 5 = 1) [set a who
7 I: ^* M* Y' C  k, W                          set x ( 0 - Wid / 2 ) 1 M7 l9 T6 h+ i6 l$ Y9 [; i- ?$ Q* N
                          set y  Dep / 2 ]
" c5 H* p- I1 s) d           set b  int (a / 5) * 5
9 y4 o3 h, e) l) {    setxy ( xcor-of turtle b + x )
, Z, M4 f7 p% i; W          ( ycor-of turtle b + y )
/ }& V& q0 X6 y# z" p( ?if (remainder who 5 = 2) [set c who
& }* f2 B6 X% |! w8 `+ S5 m                          set x ( 0 - Wid / 2 ) ( ?! l: y3 S1 z# d( B" `" X" X
                          set y (0 - Dep / 2 )  ]1 B$ m: V" \1 @: x
                          set d int (c / 5) * 5# ]3 V2 ?" |! c8 R
   setxy   ( xcor-of turtle d + x )$ A& i' e2 ^' f0 J" T: T+ x
           (ycor-of turtle d + y )
; E: \) I" q  U8 E1 i; l         
7 L3 O) X+ o" Y# N/ u/ f            6 l0 X* e4 l6 @2 X2 H+ C% t4 Y5 j
if (remainder who 5 = 3) [set k who
/ e( B9 B9 N. [9 A                          set x( Wid / 2)  * Z; f- X. X  u& {% v$ j5 e+ P2 n
                          set y (0 - Dep / 2 ) ]
( _; [( l" C! k7 S. ?' G1 |                          set f int (k / 5) * 5
. T& X9 i7 V  y+ l  setxy   ( xcor-of turtle f + x )
, V9 O  G3 h" p           (ycor-of turtle f + y )
$ ~6 f: v" f& T: `' H" X# b2 \/ w           0 N5 D8 ~- l! ?* T' ~
           
, e5 W$ }: _" ~( y" L- M( F" [if (remainder who 5 = 4) [set g who& @7 Q2 ?4 k1 s/ v7 n. a- ^
                          set x Wid / 2 # M  U& f& K! ~# p1 a) C
                          set y  Dep / 2 ]
, s6 Z5 H. h4 I, `8 |( ^; e7 i                          set h  int (g / 5) * 5
+ B% {. |9 _8 M7 l5 a1 i/ v% q  setxy   ( xcor-of turtle h + x )
5 @) ?6 ?/ C; c" {4 m/ k           (ycor-of turtle h + y ) # Z0 F9 [4 |9 J# H3 }7 K
                          
3 L3 Z4 j3 _; n0 L" a                          
3 D6 {4 a* d) O' g' o                          ]+ g& e7 F4 \+ N0 n9 m& r
end
" J5 K) K' Q8 K2 h$ o) }: L: A+ k3 h1 I7 P+ Q
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," R8 c' C) g% E( s2 E$ \
应该是
8 _7 J$ c9 F  r0 M2 Aask turtles [2 [( k6 j6 _, ]2 ?5 z& J
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
: @3 R  K5 X! g; @5 t% A                          set y  Dep / 2
7 W% K9 z: ~1 r- z- T  T           set b  int (who / 5) * 55 J4 ^& T$ W! ~+ g: D' j; p
    setxy ( xcor-of turtle b + x )& L: P. C$ B( H0 v3 Z
          ( ycor-of turtle b + y )]]
4 M1 r6 a8 }* q6 v4 Y, Tend( Z6 n% s) a0 S0 a4 ~% n4 t2 v* [
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-11 08:42 , Processed in 0.016329 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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