设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7528|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
* M! J, |* X/ z# Z2 V5 F) B( O1 G  t0 {, U% j8 E  d% S7 g& m
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。6 E& f! W. V' ]6 S% H

$ \6 [/ L& V; z9 T% v4 Tturtles-own [a b c d k f g h
* w! Z0 \# N) p% j  x y     ;; these are the leaf-turtle's offsets relative to center-turtle   ]& p: F+ b. H8 M/ j/ A! U
]- Y6 ^! S7 K* F7 |( e/ S, L
to new7 {* \- P( V8 u4 h5 \  m
  ca
% F, b0 z% c2 u  crt 5 * num_of_building' B" T2 \7 }( H! v0 K5 _3 M1 R4 g( J- x
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]! t* F& j) Y( |8 O! [0 N
  scatter     ;;keep center-turtle random positions 0 P7 w: z7 g8 K; D' K) g
  unit_plan   ;;make up the building plan. G0 n* ^# X& ~
end6 M9 ]3 t9 f( F
to scatter
8 T0 O" I. Z. e) D) Aask turtles with [remainder who 5 = 0]4 G0 A2 b7 T# R. x1 M9 L
[
9 V8 b5 @( L- C* ]* `+ oset xcor xcor - 6 + random-float 15, Y+ ]) x* `5 l6 g5 `
set ycor ycor - 6 + random-float 15$ i# J: V$ i; |' e
]* f  _1 ]4 }& P
end$ b, E+ ~) K' c  h- T
to unit_plan 5 V/ A& w! r' n' k
ask turtles [
$ a% M: f" b1 w% {/ A: y8 g( Sif (remainder who 5 = 1) [set a who ) }/ @9 P( m& d1 c" f  X- z
                          set x ( 0 - Wid / 2 )
2 ^6 v) h# [* L2 `9 V                          set y  Dep / 2 ]
% i# N  I/ I, ^" |+ l           set b  int (a / 5) * 5: t5 l8 [* y3 J# Y5 w
    setxy ( xcor-of turtle b + x )
* U; o( n; N* p# X9 G          ( ycor-of turtle b + y )
3 x4 f5 @/ O& bif (remainder who 5 = 2) [set c who
) @9 W3 [" H: `8 k7 r% ~9 j- o                          set x ( 0 - Wid / 2 )
; C% o$ J0 ^) ?7 ?" H                          set y (0 - Dep / 2 )  ]
: n, F. a& M" |7 L                          set d int (c / 5) * 5
6 q% l7 a. G2 I7 n9 w6 ^! Q8 _   setxy   ( xcor-of turtle d + x )& m" H/ T$ L0 l8 A5 h+ u
           (ycor-of turtle d + y )
3 @% a$ I& a. y          ! `. c4 g9 ?. u) U+ ]( F
            3 `4 u" f! I) F& ?" i" x
if (remainder who 5 = 3) [set k who& _  }& r4 X' {3 c+ J
                          set x( Wid / 2)  * H: X  z9 f1 y5 d- z3 A
                          set y (0 - Dep / 2 ) ]
% l% L, M& A! l                          set f int (k / 5) * 5$ ^) T  X. f/ a. O5 i) W3 P4 H( S( m
  setxy   ( xcor-of turtle f + x )1 I( B/ M2 t* s/ @2 D- |# n, m
           (ycor-of turtle f + y )
3 o( _8 G9 @) Y2 U2 r0 ^3 H           
; q" W) [5 G1 P0 o1 c           $ `/ y& P1 Y$ N9 k, G8 s
if (remainder who 5 = 4) [set g who: ~$ i$ u% F. z2 ^5 u9 \
                          set x Wid / 2
# w$ C; U8 r/ L* i                          set y  Dep / 2 ]8 B  r: Y; P1 J4 e
                          set h  int (g / 5) * 5; z* S  ?. ]+ W6 q& t
  setxy   ( xcor-of turtle h + x )0 }4 T- }: a+ R  F1 v" ~
           (ycor-of turtle h + y ) 6 P/ I9 [' j7 |) W  V1 ~
                          
  f4 j$ ~6 ~- E4 x' I. w/ M                          ; l6 j, }* S, w2 Q7 y, |
                          ]! ]; w7 R3 @. g! R0 Y, k: Z
end3 d0 ?8 W0 y9 P3 T

9 ~; T' _& v, S1 k' F0 I- t3 Q0 \[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,, p8 i. x& p. C
应该是
1 r. Y) ]6 E0 C% Z8 vask turtles [7 m" n0 W+ k6 D9 e& ^
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
% w) f" v1 g% K1 D1 u% L                          set y  Dep / 2
. m0 C6 k& ]& ], A2 I' Z           set b  int (who / 5) * 5
+ A# Q) g% ^0 B+ ?! b    setxy ( xcor-of turtle b + x )
8 w" e, ^% U" J5 X: N          ( ycor-of turtle b + y )]]4 m( d, X, Q! U* B( B6 O
end$ v+ G+ r* T  F6 b, l  F7 _
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-22 05:33 , Processed in 0.027273 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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