设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8936|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( q1 [( d: p% A+ o  K; r5 X/ Z# c; y2 E! {; A
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
$ f% y3 D5 e1 R# o( }4 {7 o: K: y6 n! C8 X, j9 ]; K
turtles-own [a b c d k f g h
2 s3 b* A7 a( Z  x y     ;; these are the leaf-turtle's offsets relative to center-turtle $ H2 d, W" M$ d; g. N
]! I' }7 f* ^# m8 j% g
to new
5 R' \& q& k9 _% p8 G) ]- w  ca
3 @$ {/ {% |1 B/ X& v% K/ q  crt 5 * num_of_building
/ Y- x, C) h, z  g/ J; b  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]  |: \6 ~' N2 q* U" M
  scatter     ;;keep center-turtle random positions
8 i9 {4 [. N* F7 e2 h3 _  unit_plan   ;;make up the building plan$ _! m! L% l2 \( f% r+ E5 E) p
end
" J" r( `) ^' ]6 p7 cto scatter  k, J: [" ^, v. L) T! M: o* U
ask turtles with [remainder who 5 = 0]
  g, M7 f! X1 B4 u[6 C9 g! m7 W! }( ]% p3 g+ ?; Q
set xcor xcor - 6 + random-float 15
7 t5 J- p. D! T5 {1 f& D& g; oset ycor ycor - 6 + random-float 15
# y8 P; `9 }9 c/ k7 @& O9 J]
) ?& E! M/ x* z! Y& dend
6 l& ?; P6 n2 x; y/ U9 v" nto unit_plan
2 u; Z/ z# F$ U0 R' @, e7 Aask turtles [, r0 r* s" o4 ?9 P$ V3 G; O- g' \
if (remainder who 5 = 1) [set a who ; e! Z. N( Y6 j( h! V. e& I
                          set x ( 0 - Wid / 2 ) ; ^$ Y5 A  J* [
                          set y  Dep / 2 ]
& f) d2 {+ O* o+ D- F           set b  int (a / 5) * 5
" t2 v; J2 ]3 W& s, A    setxy ( xcor-of turtle b + x )
; M3 H- H- }3 G& {9 q+ O          ( ycor-of turtle b + y )( K) |# E3 o+ w& Q! x$ x
if (remainder who 5 = 2) [set c who3 p/ w) G( N, _  ~! C& M
                          set x ( 0 - Wid / 2 ) / D$ ~  O# A6 Z* D, |3 t
                          set y (0 - Dep / 2 )  ]
6 K7 m, G" N+ u                          set d int (c / 5) * 5* Q! o! b# O# J$ V8 b2 n0 q3 V$ G7 ?; p
   setxy   ( xcor-of turtle d + x )8 ^6 F$ \7 x3 k. j, }
           (ycor-of turtle d + y ) ; N# s- F' x! I% @0 I$ m( a# O
         
" I+ ^! \) Q! g2 o* W" i) g# A( z            5 s5 Z! G: I( |: X# O' }/ N- q
if (remainder who 5 = 3) [set k who2 o1 e% b$ b8 M- Q, F
                          set x( Wid / 2)  
% R: g4 a) P) ]! x4 C                          set y (0 - Dep / 2 ) ]
2 `0 b& T6 \5 d0 V+ X$ s9 g% N                          set f int (k / 5) * 5. I6 y4 k2 v. J7 N0 j' V) j$ o
  setxy   ( xcor-of turtle f + x )
& L0 g% Z( w; o' x3 t' |7 E9 z# F           (ycor-of turtle f + y )
! m: N+ S9 n* M  N5 ?: a( `. P# v. ]           
2 h  o& _8 M4 [- m           ; f& Y$ Y+ N6 J6 x* x. ~: }) `
if (remainder who 5 = 4) [set g who2 ]! f- F) _; v, p& _
                          set x Wid / 2
. |& h! X. x, T& }                          set y  Dep / 2 ]
+ C4 l  L/ {, |& |                          set h  int (g / 5) * 5  `) Z/ |  A0 `6 G! a5 ^
  setxy   ( xcor-of turtle h + x ); m: h9 a5 i. R# h; u
           (ycor-of turtle h + y )
( U; l; Y* Q7 O4 a                          
. L2 P3 E% K+ F. s$ F                          
# b& a: ?: C2 c6 T" `                          ]1 @0 Q) ^2 d$ M3 s+ B
end
. K( t( U4 f+ n' d0 \8 I5 y8 B" J) ~3 L* z3 @
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
. g4 ]6 W$ R3 u1 R' N应该是% d  k( |. y: c* T# h3 Q( c
ask turtles [
; G' V* i1 t' L" j. {: Vif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 0 ]6 o9 J. \' Y* k$ |4 y
                          set y  Dep / 2 : B& I4 I% C* w8 h# I* J
           set b  int (who / 5) * 54 C& D# c( p- W, f: R
    setxy ( xcor-of turtle b + x )
; K# i: X' g! b; \' W. Q& S# R          ( ycor-of turtle b + y )]]
+ C( ^5 D' `, r. Z) wend  z. J, k5 m- D: C: M2 i
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-26 21:29 , Processed in 0.020487 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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