设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7555|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
3 s* J6 o# t1 S# d% N/ o. e0 ?0 x/ Q+ y
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。5 \" B4 P! }8 I
3 e2 _0 _  Q/ s0 l' f' d
turtles-own [a b c d k f g h
1 k& b# R' ~$ s+ ]  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
% ?0 L; _! N+ @9 g: F4 }% Z: i]5 \: \$ m& V- j! o& p
to new# M/ y6 j8 Z+ p# S/ {7 z# K3 l2 h% x
  ca- v4 A# E6 E7 F3 ^
  crt 5 * num_of_building: q% w  k$ R( z2 w
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]* ^! B; t: N4 g
  scatter     ;;keep center-turtle random positions
" t! V0 e0 I$ w  unit_plan   ;;make up the building plan- j/ R- Z! T1 t: s3 M  L
end
/ w0 G' ?- Y9 W4 z8 m1 E) b* xto scatter
4 @5 M# \% X; g& ]3 W0 Pask turtles with [remainder who 5 = 0]: F1 t) P- q3 \. S5 o! m2 ^" ~' H
[; V; t5 C& V7 K9 L5 y5 C  k
set xcor xcor - 6 + random-float 15
( h/ j0 t- q) y( o/ N7 nset ycor ycor - 6 + random-float 157 }$ i8 c) x8 S+ w
]0 X. A8 A5 b- h' V( f/ f
end
8 o3 o* I  Y+ j% @7 g3 y$ X0 ?" _  A+ oto unit_plan " Q( _9 i. @/ `2 D. L/ i
ask turtles [/ K' T& Z) m3 x$ h7 b+ @9 c5 F3 y
if (remainder who 5 = 1) [set a who / S. y7 e# W9 y/ N! T" j
                          set x ( 0 - Wid / 2 ) 1 I- L& t# e1 P* C0 j2 ]: y
                          set y  Dep / 2 ]+ ^8 _' C. ~* i# K, C
           set b  int (a / 5) * 5
9 c, C. k; @7 v* s; F    setxy ( xcor-of turtle b + x )
! u3 O; E8 _* X9 u4 {( {          ( ycor-of turtle b + y )7 \2 [* ~, o. R9 L
if (remainder who 5 = 2) [set c who( }- a# w9 c6 {0 [1 z4 x' f* D
                          set x ( 0 - Wid / 2 )
$ g/ R! K" u" w# ]6 a                          set y (0 - Dep / 2 )  ]. Y: N# k5 i. f: M& i# j
                          set d int (c / 5) * 5% F, A. h" `* ]9 I1 o5 r$ \  O+ T
   setxy   ( xcor-of turtle d + x )
' y& K. I& j7 e3 l           (ycor-of turtle d + y )
  S( x8 o5 w! t( ]9 F" f         
/ I1 e# u1 d( v            
  q& G: p; g1 E# m# c" iif (remainder who 5 = 3) [set k who7 G# i  W0 u% Z3 _( \& f
                          set x( Wid / 2)  
3 H7 P' g8 ~9 R0 ^! y7 e- M  k  \                          set y (0 - Dep / 2 ) ]
5 l! R0 W' x- u1 S                          set f int (k / 5) * 58 V. n1 o' d/ s+ {
  setxy   ( xcor-of turtle f + x )* ]' ~/ E5 m# H* ^
           (ycor-of turtle f + y ) ( S; w/ c0 c0 s3 ~$ D5 z  h
           
/ h$ j% A% n+ @6 e2 L           ' m2 R4 u0 _4 l) Z& y9 ?4 v& P
if (remainder who 5 = 4) [set g who) O, F; e" X' c" V6 T1 y/ z/ p
                          set x Wid / 2
2 `; d+ a/ O* Z( T5 ]; {/ X                          set y  Dep / 2 ]" A5 X; u, h' p9 R/ ?
                          set h  int (g / 5) * 5
* C! x: d. R6 n' e  setxy   ( xcor-of turtle h + x )
4 [2 r* G+ ]$ N  a7 `! @4 q3 X8 \           (ycor-of turtle h + y ) ! s! |9 z0 n! l# `- Z  I% X* x
                          & `* _; u2 C+ T" U# G
                          9 w# M" r0 Y: C# E9 Y
                          ]
! X9 L+ N3 _0 a6 ~end
. o) B; P6 s, O) x) U) L, [, s7 t4 |: q8 o7 z; H2 m: K4 |. R
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' u9 Y: l7 B0 W* b4 R应该是) ]7 [% {& N* U7 c" P
ask turtles [7 F' a$ v# h# {8 ?* @
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
& C9 n. ~9 T$ M) {( ?                          set y  Dep / 2
, n- D6 w: o! h  g           set b  int (who / 5) * 5
2 c) i/ g5 |2 g2 `) s- Y! ^9 |    setxy ( xcor-of turtle b + x )
" D2 J( N/ S  v  s4 J          ( ycor-of turtle b + y )]]: W# F) j( M2 t8 f
end
( n& v3 D5 o8 {% Y( q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-26 00:06 , Processed in 0.016616 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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