设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9110|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
# C) v% p1 e5 }# B3 j4 {: y' a6 M
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。5 x4 s6 J5 D. W4 m9 ~/ z. H

/ M9 W" D; J, \5 u7 ?turtles-own [a b c d k f g h) G  \0 v: L' k  U2 p4 U/ [3 a
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
- I/ D$ ^9 x2 D8 f" H8 l7 f]6 O1 n2 }4 M1 w* @" ?/ Y
to new
2 r1 R6 m) ]( f" a  ca
4 K2 D7 y( _8 C$ ?4 L& ~9 T  crt 5 * num_of_building
% }6 {# D4 x3 N8 Z! U2 a$ ?  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
+ g' c; v) u. a- M+ j7 K  scatter     ;;keep center-turtle random positions
8 |4 p2 `8 D4 b( e4 W" @& N2 @" p  unit_plan   ;;make up the building plan
; }! X' }0 U; F8 kend
. H+ s. k  u9 R2 b" ?9 E/ @" b; n% v7 cto scatter! Q, |, O  S1 ^% H0 ^+ i
ask turtles with [remainder who 5 = 0]
% l7 K4 D( m0 X) V+ z1 A$ A[5 j- F' X( I& J5 l* X
set xcor xcor - 6 + random-float 15
2 b- l0 Z5 g2 j! T9 P+ k; i8 }set ycor ycor - 6 + random-float 15
3 R  C  P( I% |. z" m9 N' I) y* h/ z]
: t* A9 t* y8 F$ o6 w: Pend
, b% H# n- }* [6 h7 Q" Zto unit_plan
4 v. H+ {/ e+ Jask turtles [& R8 J; Q1 f' e% |
if (remainder who 5 = 1) [set a who + U. e  y+ C/ M) o) K+ i
                          set x ( 0 - Wid / 2 ) 3 _3 z2 O8 `, x: o1 D' f
                          set y  Dep / 2 ]
; Q8 \" ^' G  s           set b  int (a / 5) * 5
: r: F+ q, T9 q/ a- k    setxy ( xcor-of turtle b + x )
* p8 v% Q) D" |' f6 n5 D          ( ycor-of turtle b + y ): a: f( Z& U: b5 b
if (remainder who 5 = 2) [set c who
& u9 e7 ~% A4 V8 L% q% r- W                          set x ( 0 - Wid / 2 )
8 F( ~0 D) ?' y0 r                          set y (0 - Dep / 2 )  ]( S. X2 ?. L" B# f8 f/ G
                          set d int (c / 5) * 5/ B& y8 A  Y- m1 T8 a4 k5 d
   setxy   ( xcor-of turtle d + x )2 X  v, m  z& d2 |0 T- o
           (ycor-of turtle d + y )
9 z- k: [& l% @' z         
6 y0 W3 j- G. R% E0 ^            2 M" z  H4 ]3 o0 ~
if (remainder who 5 = 3) [set k who9 i/ L  U% Z" C" z  I
                          set x( Wid / 2)  ! f# }1 _; e/ N/ @1 ^
                          set y (0 - Dep / 2 ) ]1 k' x  {7 s" w% V
                          set f int (k / 5) * 5  N2 m7 U" _+ ~: D4 J) N+ M$ G
  setxy   ( xcor-of turtle f + x )* [/ }& r$ c, l
           (ycor-of turtle f + y )
7 J* {! d! i  R% ?1 G           
+ T: c* r$ \( u  s( q           
, Z+ O9 \( b0 a: U! ~if (remainder who 5 = 4) [set g who
2 R( ?' ~. }% S# s; ]# Y. X* \( \1 N0 x3 r                          set x Wid / 2
, E' l% ?& Y; O                          set y  Dep / 2 ]5 J! j1 T8 j# ]( S) y/ j/ s! x7 w
                          set h  int (g / 5) * 5
/ n- s6 R4 a$ |5 k  setxy   ( xcor-of turtle h + x )( W9 _; q4 F( s4 b& A
           (ycor-of turtle h + y ) / Z2 B. t+ ~, j( e5 [* @- A7 G
                          
2 j- w6 l' r+ ?# W6 i" H7 i                          : t0 v% x5 T1 N9 r
                          ]
8 J# w  \% ^9 E, \, V: B$ Gend
9 W" J  Q# v: \/ \* L7 M/ r+ @! _: {0 s3 R2 t
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
+ L2 }' g( u$ t! z( `$ P应该是
2 K: m9 F5 _% {0 ?* v6 Dask turtles [9 b: h' i- V2 q3 P2 ^7 @. o
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 }  Z0 y8 k  ?8 d/ q                          set y  Dep / 2
* N0 z# w  i2 h7 v( C           set b  int (who / 5) * 5
$ z& Q5 x4 Y* W; `* H% t    setxy ( xcor-of turtle b + x )! b8 Z* W8 P; i  K7 E5 C
          ( ycor-of turtle b + y )]]
! m. O9 J9 l" v8 {) Iend
8 Q7 Y& A7 s. f9 V7 c之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-19 03:07 , Processed in 0.014145 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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