设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7936|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
2 a2 v( x+ g! @3 y0 D* w3 J; N+ y! b8 z6 A8 [; ]
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
; p# l* k7 w3 }
* {# p" P7 B5 z- Q, J& Kturtles-own [a b c d k f g h; [- x) n  Z' B7 N+ Y! G7 I
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
, U3 f# p0 Z* Y. f& Q  W]% Z. z5 [6 |- J1 F0 T
to new' v0 `3 ]; a2 d% ^! G1 ~' o" P5 I
  ca
' D' o# K* Z) B% h6 c& L. }. l0 I: p, t  crt 5 * num_of_building
0 N# P* z' ?: d' s7 A3 {. }& P  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
/ B# Z4 x, T; a. ?7 r4 x  scatter     ;;keep center-turtle random positions
2 [# y2 w6 F  }  unit_plan   ;;make up the building plan/ o$ r# P- z3 z
end
) R6 b) O( D% X0 sto scatter$ H1 f) J" p0 i( i
ask turtles with [remainder who 5 = 0], N, e- l; [/ N2 C  C
[2 U( I$ A4 m& h2 K- G. Z
set xcor xcor - 6 + random-float 15' }0 x5 o" b1 N2 a$ I5 ?
set ycor ycor - 6 + random-float 15
! u0 \$ E: G8 ?! G* A0 f/ e]
/ v! i/ a' B: f0 v8 Fend/ P- i' E$ g/ a: e+ l7 P4 d
to unit_plan
( R1 [* C3 }" F. Uask turtles [
( e: N' W% s0 b5 d. h0 Q# X' Nif (remainder who 5 = 1) [set a who
. |- T2 `. q; q3 o% _+ a8 q                          set x ( 0 - Wid / 2 )   [, w( l6 A" s
                          set y  Dep / 2 ]
3 [; N$ ]& \3 G+ E3 O  |           set b  int (a / 5) * 5
* C- Y5 Z, e! n. G% K" E    setxy ( xcor-of turtle b + x ). x, C/ N' j6 ^
          ( ycor-of turtle b + y )
0 _6 Z4 |8 m7 n6 }: O* Pif (remainder who 5 = 2) [set c who
; t+ w' N3 Y1 g( k6 ?                          set x ( 0 - Wid / 2 ) ; P& m# }+ V3 Z+ K
                          set y (0 - Dep / 2 )  ]
" U1 ?9 ~, Q* i0 N. O6 X                          set d int (c / 5) * 5; a$ @5 z2 `( `$ c1 V. i
   setxy   ( xcor-of turtle d + x )/ Z: q8 n1 P1 b3 k3 ]
           (ycor-of turtle d + y )
  V5 I  Z* W$ x2 \/ V, o          / S% _; c% L: |' R5 y
            
$ _) c+ B! w8 K( ]if (remainder who 5 = 3) [set k who" x* b) P7 X$ u/ l" J, U
                          set x( Wid / 2)  . a, ?: c' ~- D- w  Q+ U7 ?( T' j
                          set y (0 - Dep / 2 ) ]
9 h, g6 `/ d! z  F                          set f int (k / 5) * 5
. H  i" W5 F; J5 d! s7 o  setxy   ( xcor-of turtle f + x )# I% O+ ~2 Q$ c" b" t+ H! `/ Q9 g
           (ycor-of turtle f + y ) & r/ `" W7 R2 z5 s# D, N8 U" y
           
0 p4 s8 t& t( [/ B  A- c           1 c5 e/ m& t! Z7 \/ B! F
if (remainder who 5 = 4) [set g who
9 P  m4 @0 t- v" s                          set x Wid / 2
. `# B% r! I9 Y- k2 C                          set y  Dep / 2 ]
1 O6 a" b1 S3 O- X; T5 Y                          set h  int (g / 5) * 5+ ~1 d7 l: N/ ]8 a
  setxy   ( xcor-of turtle h + x )2 T3 M! d9 N  {6 @% {
           (ycor-of turtle h + y )
1 k- R, S- {# }8 A( q$ P                          ! ]; a6 E4 S  B* P/ l; f! ^
                          : U; R: q) U  m9 q$ e; P5 E% `
                          ]) b7 x  B. T$ v1 c
end
; s2 R5 K6 L, ]. V8 b6 z* J/ t, H: u& g* }& {
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,5 F6 a' w9 A" O0 i8 i9 K2 a
应该是' V! p/ r  ~6 w9 h6 Q* M  H7 O* s
ask turtles [1 P9 R1 R; \5 q3 f6 K/ B& N: _
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
7 c, q! }8 i: j& p" E& t                          set y  Dep / 2 . @5 I& z, c  C
           set b  int (who / 5) * 5
0 }- i0 D' J  f6 x2 ^    setxy ( xcor-of turtle b + x )8 g9 a. K) x5 s! ^
          ( ycor-of turtle b + y )]]
" F. `9 z/ Y) S$ U! Y& Eend
# e* y+ `& b) F; ]7 _之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-20 03:29 , Processed in 0.017407 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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