设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8085|回复: 1

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

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

# w2 n  a% j( r  w8 W但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
4 s8 }. b! N6 h; H4 l/ @& F: I5 z
9 u8 [7 z* \3 h+ T1 h7 Bturtles-own [a b c d k f g h
( h& w7 R# `( S/ N$ e, @$ z4 K! ^  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
3 a+ i7 V" j2 a! g. Y' o/ |6 G]/ B: j1 ^, x. X# q3 o& I) A
to new
* n# q- ?4 I( e: ]  ca, S- U- y7 J# F) y1 }- H
  crt 5 * num_of_building
. T- I9 p/ U! ~" s  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
  {: T! d, h$ W) g" I2 D7 F  scatter     ;;keep center-turtle random positions
- c( L9 j/ N. E/ y$ E+ |1 M! P) ~* R  unit_plan   ;;make up the building plan
% v) z$ s0 I1 B. f+ E: N) c6 u' D' Oend' D) P" a; j5 l& ]
to scatter( u& e4 f& z$ X- `3 X6 {4 T+ d2 ?
ask turtles with [remainder who 5 = 0]
9 ?8 P; f- o. G8 k- {) o2 C$ J[
# T' _( J- N: W( Z# i5 Xset xcor xcor - 6 + random-float 15
+ T, i) D# t0 C0 w+ \set ycor ycor - 6 + random-float 158 Y9 c# y+ c0 c; }4 K  ?
]
+ k% E& ?! d! J- ^" Y7 M) Bend
; f- }( y  [) p% d2 pto unit_plan
! h& i. Q8 Q3 k+ }4 Xask turtles [3 G% U2 o* a- c% l+ g, G6 L, P; j
if (remainder who 5 = 1) [set a who
8 R8 a% a% D' v1 c) `                          set x ( 0 - Wid / 2 ) 6 S8 ?6 t* V; C+ |* R1 t
                          set y  Dep / 2 ]
+ e" S& b+ O! z. o           set b  int (a / 5) * 56 e$ P: k- Z0 s- e' H2 b
    setxy ( xcor-of turtle b + x )
; l' e0 P: D# j8 {" c          ( ycor-of turtle b + y )
9 Y2 a. n! G! _. v2 z# xif (remainder who 5 = 2) [set c who
/ \3 r+ W7 [$ k, E  D, I7 }9 B, P. g  L                          set x ( 0 - Wid / 2 ) ( M1 U6 I, R6 p, M
                          set y (0 - Dep / 2 )  ]
, W* v# D6 F1 L0 }/ H) w$ m                          set d int (c / 5) * 5
7 @. g: i2 \4 f1 w' `0 ^   setxy   ( xcor-of turtle d + x )
8 O0 G# Z) O; r( f# I% A7 j           (ycor-of turtle d + y )
# X- O' M0 _7 G0 H7 p+ j5 x, W( r         
5 U+ _2 z6 r9 [+ k            
! v' O8 D( e, E/ O  K2 D0 G$ zif (remainder who 5 = 3) [set k who% N1 u9 c- I$ \+ a6 z
                          set x( Wid / 2)  
/ _6 @& j9 e' ]0 N- F; X                          set y (0 - Dep / 2 ) ]2 G, I: |. Q2 p0 _9 d0 T
                          set f int (k / 5) * 5
. ]' G( A" T$ y' f+ A0 N  setxy   ( xcor-of turtle f + x )
( E! t# L- [! o# F           (ycor-of turtle f + y ) ' ~5 Y3 c2 C$ D% B( F+ _3 a
           8 P0 o0 e; [9 V# \
           
9 f3 x4 U) C5 J, x6 o9 i7 _5 Sif (remainder who 5 = 4) [set g who% N# o5 S$ K9 y, W
                          set x Wid / 2 8 F3 _: u8 M$ J: s9 K) A
                          set y  Dep / 2 ]
$ Z7 l% X2 h% W                          set h  int (g / 5) * 5
+ N) C7 }/ t  D; [/ J+ m. v+ R  setxy   ( xcor-of turtle h + x )+ R  r  y* y: K0 Y
           (ycor-of turtle h + y )
: V/ s. P5 ~' g. b8 e6 e& n/ a                          
0 w6 A) H, X% b9 |# W                          $ Y! p3 b3 W0 ]  s$ u( g/ |
                          ]
' c1 T: [  t8 _+ Dend/ ]) f1 w+ u0 J& _8 W0 @

  T- a' q8 J7 B' [  b[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
. f( d# [# t8 ]4 ~# t应该是0 u$ ?. t" o0 q' o
ask turtles [3 f8 [5 C3 f% U! Q& y
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ' D5 f% \2 c2 W0 W+ Y: N
                          set y  Dep / 2 0 ?' d& u% H# @1 U4 T) K6 n
           set b  int (who / 5) * 5. Q; e; r1 x+ d6 ?( i
    setxy ( xcor-of turtle b + x )0 U- B6 Z& [* \6 @! `3 e# T1 }% p! H
          ( ycor-of turtle b + y )]]% `! }' M7 l* y# D3 ^
end3 O1 g* D& Y/ K( z6 j( N! T
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-6 04:33 , Processed in 0.016769 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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