设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8534|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- S+ t8 H2 n2 r; I9 O
0 f; p$ L4 r% g) P! {但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
+ ]/ @$ W. d0 ~. o6 s7 t2 v! w$ X, l( c' n: `. ^
turtles-own [a b c d k f g h6 x/ K% x1 t7 O' L( ?) g4 y+ J
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) e, R7 @8 j9 V& X" w]% D: x- e/ d7 J. m" C
to new
& A0 O$ @# z8 A4 z  U3 ]. Q; B$ W) @' c0 @, C  ca* U# ]/ S9 R9 H) H2 _& z1 Y
  crt 5 * num_of_building
  _, I. R$ V1 C/ F7 l  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
; ]- H$ F7 d5 T  scatter     ;;keep center-turtle random positions
% p/ ?: Z/ j* ?) g# c: N) L  unit_plan   ;;make up the building plan
, g7 Y. _! S4 @4 Q- r8 ~/ n$ |, c; Send) [3 i6 Y, R% y3 K$ X
to scatter
; X0 i2 N$ j3 e& ~/ Zask turtles with [remainder who 5 = 0]
4 X7 d$ p5 H# z5 x[$ M; F/ ]0 r: f- ~3 G. n) x* H
set xcor xcor - 6 + random-float 15
; \& i0 {, |8 ?- k6 H* x8 H# X6 U$ xset ycor ycor - 6 + random-float 152 p5 C/ u+ C" a
]$ p4 l+ I+ p5 m# n
end/ ?6 M' v# i# g
to unit_plan ; I7 y* c2 c. \4 Q( F  e6 y
ask turtles [
# @9 j  R8 i; Q" ]# }# Oif (remainder who 5 = 1) [set a who / C8 R/ _- S0 |
                          set x ( 0 - Wid / 2 ) 3 c2 ~$ W5 F: h0 n3 \) z7 m
                          set y  Dep / 2 ]
. v$ ^" Q7 p! [$ \6 N; I$ [           set b  int (a / 5) * 5
  W. a! o, m* X8 N! z- b    setxy ( xcor-of turtle b + x )
+ t  [. r5 a% k8 f          ( ycor-of turtle b + y )
. f$ Z+ U/ ]- o% yif (remainder who 5 = 2) [set c who
( t$ k! ?) o4 n. j& `% @: A1 R                          set x ( 0 - Wid / 2 ) ) Y# k1 P; N0 w. V# y9 V# e
                          set y (0 - Dep / 2 )  ]
! \% k0 V* ^  P3 d5 _% w                          set d int (c / 5) * 5# R* D$ y8 i+ M- e
   setxy   ( xcor-of turtle d + x )0 C+ W8 |, H, K8 e/ m/ i8 ?
           (ycor-of turtle d + y )
% V; V3 ~$ p- M, X7 r( ~, T          . H- T6 q% T3 z4 P6 f, R) G: ^9 e
            
% g1 l0 J0 s2 l& iif (remainder who 5 = 3) [set k who
9 {) y8 @5 N! C2 k7 F  q! i* `, }- f                          set x( Wid / 2)  6 [' J3 w$ u1 {# g( x2 P, t$ M8 X
                          set y (0 - Dep / 2 ) ]6 n( u0 U' j& u7 L) \- N1 P4 |
                          set f int (k / 5) * 5  E& H. s( J" V: f* @( U+ c
  setxy   ( xcor-of turtle f + x )
! Y% J  l& o+ Z0 Z! a$ C! }" i           (ycor-of turtle f + y )
- Q$ b9 \5 @0 ^& }           * e# [2 [9 ^4 J( W
           
3 u) }+ C" ~5 J$ e$ N9 cif (remainder who 5 = 4) [set g who
6 Z& ?1 b2 x# X. w5 M0 ~                          set x Wid / 2
+ P, ]- R& i9 ?: @) ?- s                          set y  Dep / 2 ]
3 Z. y# B9 m: N" d* ]! X                          set h  int (g / 5) * 5
  N" X' P: k6 [' }  setxy   ( xcor-of turtle h + x )" T+ e6 |8 [. h% o4 i! \
           (ycor-of turtle h + y ) 9 f+ x% V7 N" I, @$ l/ S) V2 `, d
                          
& r6 A8 m2 Z/ u/ s, V                          " L9 u) f# I5 ~  f; m
                          ]
& t. f! r4 M+ B2 j6 V" r& ]end
& \. p4 D3 @: E, E5 k- ~, I. s8 S* f9 z0 Q; `
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,3 g. \: l8 I+ T
应该是
; v) B$ j2 I! E4 A) Bask turtles [  B1 b' w( u' n8 c8 V- @8 ~* n& f
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
& q  v0 |4 T8 G( J* i                          set y  Dep / 2   z9 x7 b; G4 a# ]
           set b  int (who / 5) * 5
) Z* S$ l& t* X# o# v  ?    setxy ( xcor-of turtle b + x )7 q6 e% S" h9 V; J# r- o1 F" D! x
          ( ycor-of turtle b + y )]]4 @0 l. u" W+ E+ _% z' M& C, \
end3 f1 g% j8 D2 f/ v
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-10 01:42 , Processed in 1.388713 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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