设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7285|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。" h1 w$ p2 Y+ R

3 h; _% j6 G" K  F但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
, ^1 {" E+ ?! H/ D% T. P# n! ?. a* O2 ^3 L# p- p7 |
turtles-own [a b c d k f g h2 m: ], C: c: q  L/ ]8 V
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
. z$ N2 _9 g' s4 E$ w+ l]
9 y7 t  g' o. |" o/ c1 Q& _1 Fto new1 ?, g. V" q/ y! y
  ca* k: {& L6 e; t- x) S0 z& a1 A6 v
  crt 5 * num_of_building, N  v( R9 N3 i' E' O
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. y. {- e6 a. b! z/ L5 b) p. O, r
  scatter     ;;keep center-turtle random positions
/ `$ G  S) [" K  C2 R1 r4 @1 w  unit_plan   ;;make up the building plan$ s4 y  e- Z5 f0 T) r9 \' j7 k6 \
end
" W, z) y5 `6 Q) t  Wto scatter
( ^! h& [! ^8 M$ l* Task turtles with [remainder who 5 = 0]( q1 q9 v9 g9 x) ~
[4 h  n: f4 y+ {5 L. ]
set xcor xcor - 6 + random-float 15/ o  y. `) [/ l
set ycor ycor - 6 + random-float 15
8 I: l7 L& }/ v( t7 ~% o5 N8 D: E]
6 a8 W1 Y1 F9 ?. x9 b  Jend
, @% z. g" w8 c" a% @+ `# @# j5 Qto unit_plan 6 r( ]8 ^7 F8 i
ask turtles [
) p& K" Z2 F1 G) Q4 {1 u; V* a& iif (remainder who 5 = 1) [set a who
7 j2 P% ~9 q3 C$ v. i" R                          set x ( 0 - Wid / 2 )
% e; Y0 m' [1 s/ [7 v, L/ S, F                          set y  Dep / 2 ]; Y  \% {" j& z. i7 |
           set b  int (a / 5) * 5
6 t: _( g% o( V. A. N    setxy ( xcor-of turtle b + x )! P$ M  }" d( I9 ?; I  p$ k
          ( ycor-of turtle b + y )5 h5 j  {0 {% x$ c  Z
if (remainder who 5 = 2) [set c who
0 Q! Y; I9 f) w" S                          set x ( 0 - Wid / 2 )
- ~+ v! D$ C: v& f0 ]                          set y (0 - Dep / 2 )  ]
& _# q( p9 q2 p9 ^                          set d int (c / 5) * 5
) W5 x3 g$ q6 J   setxy   ( xcor-of turtle d + x )" Q1 }: m' Q7 p  E, d9 I' }
           (ycor-of turtle d + y )
. i5 X! B) f  L8 v' U* b% Y          & i( `+ V. x' `+ b1 V
            
' L  c: t$ M2 m5 h, Y' ^if (remainder who 5 = 3) [set k who( w  p% B; \, i/ }4 Z
                          set x( Wid / 2)  
0 y' _: {+ O( q6 u8 L                          set y (0 - Dep / 2 ) ]# a0 ]! V" v/ Z# L2 r
                          set f int (k / 5) * 5
. D* O" J, ~/ k6 R3 ]; W  setxy   ( xcor-of turtle f + x )  @2 g+ C# z5 B$ }% N% h
           (ycor-of turtle f + y )
, f5 M  f% {0 C  C           
3 e' w3 r2 h( y/ J6 ?! a6 U: Q           8 p- x. i  [% B, D% b  R
if (remainder who 5 = 4) [set g who
0 p5 E* I; f0 [* P& \# h1 T                          set x Wid / 2 % A. P- i; i* a3 @
                          set y  Dep / 2 ]" |+ i! l0 r; F! M
                          set h  int (g / 5) * 5
; v6 v. F6 z' D  setxy   ( xcor-of turtle h + x )
) L! Q) C- F5 z2 b# J/ k           (ycor-of turtle h + y )
, A' y6 i# k. |) K& @                          ; i6 |2 e2 Q" Z, G5 v+ \
                          
- h& J" ~1 H; t4 J6 r. ]                          ]( s+ v  h, _* W% d/ a7 q& {
end' {$ K* d2 U' x0 D8 c
' r9 ]5 }' Q) Q" z/ Q% N
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,  z' s+ n1 e* O3 w  g1 u4 ?$ D# a
应该是& V, K" o1 H' W$ |, m( [) Q
ask turtles [- W, V) k# d: N  y5 ?
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ! A" E, L) H" a6 g
                          set y  Dep / 2
( H1 S, p3 R% d# D1 _8 }           set b  int (who / 5) * 5+ D. d/ c% k3 N
    setxy ( xcor-of turtle b + x )! H( \  x0 V+ \
          ( ycor-of turtle b + y )]]% Q: W/ _2 ]- R8 t
end9 O8 L) a( _" M6 L* s0 l8 f
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-25 11:48 , Processed in 0.017580 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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