设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7484|回复: 1

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

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

3 E# u+ f$ s& n4 V但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
7 l  R" K6 s3 D) j& z- ~' h  o  {8 B, p) [( @; ?
turtles-own [a b c d k f g h
$ k1 e# O7 j8 y& |/ r: B/ b* k  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ' t0 T% [  v7 K$ j. e+ y& U% D
]
& P4 L" [& l0 q5 \  }to new
. [) u, l9 G4 G6 T! D0 l+ Q6 p  ca
$ w7 w+ }- z1 V9 y2 ?  crt 5 * num_of_building$ }, t5 Y, Y6 d
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
' Y( O' J3 Z1 b  scatter     ;;keep center-turtle random positions : I* i$ f  q  o) `
  unit_plan   ;;make up the building plan- X4 M" _0 `' A
end
* t9 h$ Y) R% v& V( V8 ^& ^to scatter
9 e" L  F* ?% t* Z0 lask turtles with [remainder who 5 = 0]
( |% z7 p% `0 g" U6 F  {. P[
, |) H& E/ Y6 u. ?" k- e% \% Pset xcor xcor - 6 + random-float 15
1 A5 p* _6 G  ~9 Y1 e! N% i2 Bset ycor ycor - 6 + random-float 15% _4 g; e* b& Q
]1 D# q/ F3 |' \1 ~8 J0 f
end
9 N8 p: q) I$ Z( Dto unit_plan
5 r( n9 A( m2 V9 E! h6 qask turtles [# Z: P; l$ p% ~) ^6 G2 A
if (remainder who 5 = 1) [set a who 8 ~4 N) V$ Q1 ?
                          set x ( 0 - Wid / 2 )
" V2 a' r" V+ T. X                          set y  Dep / 2 ]
. T: c9 x/ n/ f0 ]           set b  int (a / 5) * 5' Q0 b% Y6 R( o9 @- Q2 T' `2 K) X+ P  n* R
    setxy ( xcor-of turtle b + x )
* l1 E/ ^# N( F- R          ( ycor-of turtle b + y )# z/ ]) W$ m' J: h
if (remainder who 5 = 2) [set c who
: E# Y7 V3 Z6 ^7 z$ T1 E) V! G                          set x ( 0 - Wid / 2 )
8 [& T1 q" r, w! D1 C- R8 Q                          set y (0 - Dep / 2 )  ]
( j" B. S+ f6 F+ }  ?                          set d int (c / 5) * 5
+ N9 J$ S4 W$ X$ {   setxy   ( xcor-of turtle d + x )
. k) s- q) l; G6 C4 I3 w1 ^3 ^           (ycor-of turtle d + y ) - T+ `: Y7 W/ q3 w- e
         
! T6 W7 d2 C$ H, g# P+ T            8 F0 w% O3 E: @% M) `
if (remainder who 5 = 3) [set k who
5 R/ {, h9 }7 _" A9 |                          set x( Wid / 2)  
5 {. j/ I9 h6 J. z. C                          set y (0 - Dep / 2 ) ]! |& }" i/ I6 G3 W- P( s: D' `! A
                          set f int (k / 5) * 53 I6 y5 T. ?4 n# X: F
  setxy   ( xcor-of turtle f + x )
& C+ d+ t+ [3 l9 C$ q; R7 g           (ycor-of turtle f + y )
9 v6 B! u5 ^9 @: _2 }           
$ B4 C- S4 S$ Y3 P! \! h- J. B           2 a, o/ z2 f) b; ?8 n( w
if (remainder who 5 = 4) [set g who
% C  K& f, R8 J* t                          set x Wid / 2 5 ?- Y7 ?+ K9 a
                          set y  Dep / 2 ]
) S+ O  r5 Y# E                          set h  int (g / 5) * 5
0 f& ?1 ^# Q4 j5 }( C  setxy   ( xcor-of turtle h + x )1 m. M7 b$ x3 U9 l) y  z7 d" a2 f
           (ycor-of turtle h + y )   w0 c( l( F+ W! m+ k* t
                          
. r& u* y: p9 z6 z+ Z                          % n- z2 Q0 b1 T: \) _8 _
                          ]6 ?0 I- _, U# I) O2 p' h+ Y/ T
end0 ^8 B$ d% k% N8 I, ], `

8 d/ b. K+ y: x3 c- b[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
; I1 y- R: Q7 p  [% z& @5 S应该是) N& P' S- z6 V' z3 b
ask turtles [" @" ~3 X! [4 Z1 F4 m6 H
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 8 ~0 G# B2 T' W" j+ g& V- {2 B
                          set y  Dep / 2
; F; t5 }) T3 M           set b  int (who / 5) * 54 P' ~  h0 b' }$ t8 r
    setxy ( xcor-of turtle b + x )) {7 ^* c% q0 [3 k0 h
          ( ycor-of turtle b + y )]]
" I  z% ~4 C4 @+ l: @end1 P& ~3 o6 I' a
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-16 14:38 , Processed in 0.021489 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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