设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7919|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。; L2 g, T0 X9 U  X

$ x  [! j% @+ ?* @$ h" s但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。. N" L. W% }! K. s/ G% _

, w& c# @" Z/ X+ Xturtles-own [a b c d k f g h( d% n" Z9 o5 f' V6 P7 g$ y
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 1 [0 S0 }0 d  U1 U) u' n1 k6 b- O
]
( J7 ]. A$ D; I. @! B' |to new. B. x& Y- f. D  Z5 G  W. n8 t5 q
  ca8 Q' Y$ A; P% Z
  crt 5 * num_of_building: R/ N1 @0 C) I& G( ], b
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]; z: ^: }3 X+ j$ O3 Q' P( J: U- q
  scatter     ;;keep center-turtle random positions 8 {- S" F) Y6 N
  unit_plan   ;;make up the building plan: z6 Z3 ^9 s' z4 z, [+ e
end' \+ O) F9 _6 {4 G* Z
to scatter
5 i( i( j; I2 m- Vask turtles with [remainder who 5 = 0]! n! e4 r+ g* K% F! x+ r
[. ]* N2 C0 B0 Y
set xcor xcor - 6 + random-float 15& ?# E" o! ~  A8 F  [/ e4 j
set ycor ycor - 6 + random-float 15
4 Z5 q) d. n2 _; ]. \7 n]
% v7 u4 K, p# B# y& Bend9 r( Y! h$ ?# @  `3 x4 @
to unit_plan " ]5 K. G9 ?' g. x" u0 s' h
ask turtles [" q$ e2 c2 G6 i9 f/ }
if (remainder who 5 = 1) [set a who
7 i% w8 E5 T5 h9 D& ]                          set x ( 0 - Wid / 2 ) + z; }8 B' ^& J: u! R+ H
                          set y  Dep / 2 ]
3 {# j8 V9 K; ?1 n  w, F# G9 y           set b  int (a / 5) * 54 i& N% k. \% \" D; o6 G7 j
    setxy ( xcor-of turtle b + x )
9 A  v# o1 m6 }) W- S          ( ycor-of turtle b + y )
0 a/ |7 T( D( p) O  j, Bif (remainder who 5 = 2) [set c who
$ _1 b) b1 N: z! X9 C& H                          set x ( 0 - Wid / 2 ) ' D: \/ f, @/ T# p' e  x; ~! `) u4 f
                          set y (0 - Dep / 2 )  ]: e& J4 R( N9 y/ J
                          set d int (c / 5) * 5
  e; [4 l" o3 F5 S   setxy   ( xcor-of turtle d + x )
# y; \8 k2 G# m# o6 W7 T: a           (ycor-of turtle d + y ) + [" C# p' n: L5 z( o# m
          " k, f9 F+ \, }
            
3 Y2 ]) b3 T2 y  ^5 }6 G( i. S! c6 Dif (remainder who 5 = 3) [set k who9 f8 ?9 j+ j# h8 `: c' R) _
                          set x( Wid / 2)  ( Z4 z# w4 B+ G5 Q; X3 I! [, @
                          set y (0 - Dep / 2 ) ]
: F6 P$ Q+ m3 Z                          set f int (k / 5) * 51 [8 b7 l" e; F  p
  setxy   ( xcor-of turtle f + x )" ?$ R5 L2 p3 w' ~4 R
           (ycor-of turtle f + y )
" t8 |, `- t0 P           % u# Q7 H0 z9 e; o' _* F; [
           
4 h9 g7 Z7 {1 c8 D* ~$ Vif (remainder who 5 = 4) [set g who' p/ r3 B+ u+ D1 D+ c
                          set x Wid / 2 ( M6 E/ I: ?( w& w
                          set y  Dep / 2 ]
( C! |' P& ~1 B7 q- [                          set h  int (g / 5) * 5
# f; s6 {$ r0 E% ]. M  setxy   ( xcor-of turtle h + x )4 N# ~# y, G1 v7 L3 g
           (ycor-of turtle h + y )
5 L& V) o. a2 m; v: a; @                          # h$ r5 |  i3 X$ k
                          0 N' N6 f0 p8 K! {: h  W9 F9 u
                          ]/ m  H  f9 E1 P  X" s/ H5 E# h6 c
end: N% ^7 c: o4 q6 r: i$ J. z2 y+ Y7 x4 p
! a2 U# r& }* h4 u
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
; u. r. J& O. f' b( v: Y应该是: p9 N7 \" B. P8 f" |. f+ Q% \: k
ask turtles [
. O' M6 V, l" k7 k1 S5 d7 zif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) / M+ \1 j+ t8 F( {' _- s$ ?
                          set y  Dep / 2 3 |+ ~) e/ h% X6 N" e
           set b  int (who / 5) * 5
3 y: Q% {) f3 M    setxy ( xcor-of turtle b + x )
' S, O0 k9 E1 {) `- c( ]& M2 q! D3 R          ( ycor-of turtle b + y )]]
3 S1 Q+ ~# [+ l7 send! Y) n2 [0 G5 Z, w
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-17 21:40 , Processed in 0.018790 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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