设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8017|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。% i) y- R# {/ M" l! {

3 m, ?( C3 D/ V+ k2 O/ f" P! ~但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。; V/ H! g* z% n5 h0 Z, v

- X% d& e1 b5 ^9 b; Dturtles-own [a b c d k f g h
2 y5 @8 g6 T# @0 u  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) h" Q* d9 m0 F$ \; k# D5 ^0 ]3 d# }]
: w% u0 `2 g! N1 ^" g! E/ |to new
7 h4 X; l$ b8 c' T8 `! ^  ca
+ q$ J8 S+ {5 C. Y5 v/ D5 |, n( D  crt 5 * num_of_building* ]$ O8 ]% h' P& `! C- @7 u0 z
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]' s. j& @5 N5 I( [5 t6 A, m
  scatter     ;;keep center-turtle random positions / L4 ?# Z: ~# t$ h
  unit_plan   ;;make up the building plan
: G! D' m3 j* ?* Oend
5 B) ?; p; t7 x& a( b2 o/ mto scatter% R4 x# `& U4 T' p* G/ h# Y7 P
ask turtles with [remainder who 5 = 0]+ c3 U% a- A. Q3 B3 O" O
[' @7 |# T( G! L1 B
set xcor xcor - 6 + random-float 15
7 w) |1 v) K' p* X* I7 @set ycor ycor - 6 + random-float 15; J. U2 m0 B5 @3 t5 e
]) A* [1 d; L$ a! g( x; n
end( o. U7 k3 }5 x
to unit_plan 8 @) C+ t, L5 o0 u9 w  a9 ]  g  J
ask turtles [: F2 J: u: ^9 L0 h. n+ P4 Q- d
if (remainder who 5 = 1) [set a who : K$ u0 w! [8 M  t; o
                          set x ( 0 - Wid / 2 ) / f) q2 z2 }2 A/ g6 _% S
                          set y  Dep / 2 ]
& ~3 J" T2 S% c  g7 I* l           set b  int (a / 5) * 5
& J  s3 V$ m6 \4 F) O% |& ^+ f: X8 C    setxy ( xcor-of turtle b + x )
5 T3 x$ A6 y/ @3 t          ( ycor-of turtle b + y )
+ ?9 k7 d2 I- f  r' p2 }if (remainder who 5 = 2) [set c who  f' V% J: y- t6 W4 U
                          set x ( 0 - Wid / 2 ) 0 A3 ^+ F" c! Y& E5 y
                          set y (0 - Dep / 2 )  ]9 R# C1 f. U# @+ E
                          set d int (c / 5) * 5
6 ?9 e: R4 O0 O; G; ]2 w% e   setxy   ( xcor-of turtle d + x )
9 ?+ ?5 b1 t4 i  `5 |/ e           (ycor-of turtle d + y ) 5 M- n; _5 p; h7 [) b
          6 k' ]3 X1 C; x
            : w& y: c5 L! g2 H/ b$ {% ~
if (remainder who 5 = 3) [set k who# Y" N- G# s0 l* {. r9 O$ T
                          set x( Wid / 2)  3 b/ b; A/ P  |- [( K
                          set y (0 - Dep / 2 ) ]
7 ^- F$ q4 m% r/ T' U                          set f int (k / 5) * 52 z! @, _+ A' y
  setxy   ( xcor-of turtle f + x )# D8 E9 q5 \% U$ z2 w
           (ycor-of turtle f + y ) - e" i8 l- w+ L) t9 C
             Z# r! Y/ o( Y, P
           
8 s7 Z  A( E7 L: C5 gif (remainder who 5 = 4) [set g who
0 U( G) n5 ^4 \1 x: c                          set x Wid / 2 ; W0 l+ f# w/ G# [1 z( _" w2 V
                          set y  Dep / 2 ]
  S! S! `  H8 b2 b. J! ?                          set h  int (g / 5) * 5
5 x4 A/ Z# P7 ]9 d0 E) ^& u+ Y  setxy   ( xcor-of turtle h + x )& [5 H. o/ W; N: j
           (ycor-of turtle h + y ) 6 r* j  l4 t3 [3 H* c/ Z
                          2 K% `* y# m4 s; `: R6 {/ b
                          
3 d1 S' A+ L8 f/ V/ P: e                          ]
' H; t, l* u$ d! m4 t6 Zend
2 {& B) i2 ?# T1 Y! E+ P& i+ u
# s0 j, L  H1 a2 }2 d! n1 G/ T[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,5 q8 Q8 }5 ?# V! n" Z  d  Y0 A
应该是
4 D, M, S. H7 e$ P0 N% j! z/ task turtles [" J2 H/ ^; Q$ x
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ! {5 @) _4 ^6 t+ @9 G/ o; ~- @( S
                          set y  Dep / 2
& P  s  q5 o4 U! }' s! U" z2 @* X$ r           set b  int (who / 5) * 5
% ?! d, ]9 \" @7 {' I5 R( Y    setxy ( xcor-of turtle b + x )
4 W* M) |. P; @2 o* R' n1 ?* p7 K, a          ( ycor-of turtle b + y )]]& q- \* u7 J5 ]5 q4 L* |0 A
end
+ l7 ]% O6 ^$ z: Q8 E之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-29 04:18 , Processed in 0.017182 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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