设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8483|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( L: y- l  Q8 h2 A
& l$ z2 d2 ?6 D3 p& L) I但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。  U2 Y! e' l+ J# y- \  c
5 \( R2 l8 M) }
turtles-own [a b c d k f g h$ T4 ^2 b: j0 I0 L+ v
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ; m6 {4 _( Q  M( W
]0 ~6 _6 A) Z2 ?( x. N, ?
to new& x/ J: K+ h1 `
  ca- t; f' [$ ?2 e) `2 c4 ]
  crt 5 * num_of_building8 A3 b* k+ B. N: d
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. T' l5 p$ H% C% o0 t3 F( k
  scatter     ;;keep center-turtle random positions
3 r/ M0 [' R9 T) K2 E. S* k  unit_plan   ;;make up the building plan+ V1 W, y; @/ |& c
end
  I# L# U! {+ ]. i. v) Uto scatter0 Z8 A1 R7 g5 u4 k
ask turtles with [remainder who 5 = 0]1 [/ V$ C; T  h' Q) @
[* ]+ w# |  _, q0 Q6 D" A8 o4 U
set xcor xcor - 6 + random-float 15
2 O" [/ h. s. s4 t% {: lset ycor ycor - 6 + random-float 154 H' b& Z: h# ~: |; T
]5 |7 n. G* ^- S* h. }4 z
end
8 \2 x- s) H6 b, ~to unit_plan , y; o$ \5 c+ R- z
ask turtles [  V1 |4 l! L' a/ ]& q! J
if (remainder who 5 = 1) [set a who
8 g/ D! Z( d- Q* S% V9 S                          set x ( 0 - Wid / 2 )
9 ]7 b' q+ Y) [4 J2 H) ?! g                          set y  Dep / 2 ]
( O9 [$ {6 c- ]# {! G4 V& I2 {           set b  int (a / 5) * 5
" d2 E; Q2 n5 v+ h, J( k" N3 D    setxy ( xcor-of turtle b + x )
$ U! `- r8 D" Z, u  a; u* A# H/ ^6 G          ( ycor-of turtle b + y )
- S! h+ p0 q4 F; dif (remainder who 5 = 2) [set c who* S0 ]9 B9 ?( z- H4 g
                          set x ( 0 - Wid / 2 )
. P" h, K3 f; m7 e, u! @3 G! K3 ]                          set y (0 - Dep / 2 )  ]; z, c5 {- y, G2 A
                          set d int (c / 5) * 5# R) ^6 L- z! E" y+ K; G/ V
   setxy   ( xcor-of turtle d + x )
- e: }; G" g0 }6 F           (ycor-of turtle d + y )
* ~8 k: q0 G* Y# S0 x" m0 q  t         
4 X2 @! m/ i3 M            
2 f$ j/ \; g7 ^. W8 `; N2 cif (remainder who 5 = 3) [set k who
, c% q: c7 D3 b, x  \                          set x( Wid / 2)  
4 a  m( l; W; k% |& s. ^( ~- Q                          set y (0 - Dep / 2 ) ]
% E' \+ L2 m6 F3 y                          set f int (k / 5) * 52 d8 T! J3 H  K9 Y" ]9 G
  setxy   ( xcor-of turtle f + x )
0 f' h" q% s8 T           (ycor-of turtle f + y )
; T  D) m4 K% a5 Z           # b* m  B: g/ B- S+ L3 A2 h# o
           ! r7 S/ V* k% \, i6 i( `6 M
if (remainder who 5 = 4) [set g who: Q! H6 m; r1 z7 m1 B
                          set x Wid / 2 # q$ G- I% O/ P( L# j
                          set y  Dep / 2 ]* ]9 q# I4 k- Q0 ^. i
                          set h  int (g / 5) * 5
  t5 Q& {9 _( E* t& j  setxy   ( xcor-of turtle h + x )8 P1 G& x/ I* b( [8 b2 ^
           (ycor-of turtle h + y )
& F0 K7 v- h" |2 P. @3 W; L' V. i                          
0 J9 Z# N3 y7 _  J- e; u1 D3 P                          . R! c) u4 O! `' S% g! }
                          ]) k, H1 N$ c& m& J3 N  x
end
# ?# u+ _# ]" o' s+ A  ~
* _+ W7 s7 L1 @5 A[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,& [6 d; O1 V- c5 J! U  ~) b& X( s( X
应该是5 S6 u, U0 F0 c9 A" i( l" R) q
ask turtles [
# g0 d2 s2 u+ u% ~9 b6 |if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
4 S, m# U" J; q+ W" ], w                          set y  Dep / 2
7 t; S3 l7 \/ U( l           set b  int (who / 5) * 5
- G6 B! j' t7 s/ F    setxy ( xcor-of turtle b + x )
) }- i8 R- V( r- ^* i# _; W          ( ycor-of turtle b + y )]]
- X% a. v* |- j2 Kend
" a" n' R, {( u1 w之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-3 01:48 , Processed in 0.015921 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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