设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7091|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。) B" P( E$ k8 O' z) w; I8 S+ p

: Y: v9 u; d- k5 [4 J% Z) z但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。! S- X7 X: t6 D" t, W/ Q
0 A( O# E/ x8 P: u7 `3 y
turtles-own [a b c d k f g h' F' |3 [/ R3 [9 {- Q5 x3 J
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
5 f8 N+ D* i( E2 x4 X]
2 y# _0 v/ L2 f' vto new& I) E2 k! H6 v& s5 t7 d* @& p! B/ w
  ca' O: ^$ \1 S; D- M/ R& N, h( Q0 I
  crt 5 * num_of_building
' o& i0 i& x* X  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]], y& Q/ q% k9 _/ M
  scatter     ;;keep center-turtle random positions ( g8 ?- x0 D9 y# `4 w
  unit_plan   ;;make up the building plan% d' Z, y  J4 ~7 L& w+ @
end
  k- M4 Z& ]2 Wto scatter
% M. t/ f; M( [3 iask turtles with [remainder who 5 = 0]
7 [8 u4 w' Y0 O, y$ f[8 Z; B5 t  m7 k; t8 T
set xcor xcor - 6 + random-float 151 R/ j$ R  ^9 M; u" i
set ycor ycor - 6 + random-float 15
  W. I# k" U2 h1 I- ^+ x]
: M: v7 ]7 L& s, bend
4 A- x6 \" x: z7 J4 Nto unit_plan
" ^  @2 A) J. _: p8 Wask turtles [
+ t* o- K# |6 J# {$ O  Sif (remainder who 5 = 1) [set a who
+ ^, ?8 x$ u, X                          set x ( 0 - Wid / 2 )
& P  }% W( h; T) Y  J6 n                          set y  Dep / 2 ]6 k* ]& I# U3 O4 l
           set b  int (a / 5) * 5
' T  {( Z) L0 ?9 }( x/ ]    setxy ( xcor-of turtle b + x )! E" @  S) r$ m; b3 \) c8 _
          ( ycor-of turtle b + y )
7 A2 H* O9 ^5 T( Y/ m, E5 e$ qif (remainder who 5 = 2) [set c who
" q7 O3 h/ K( \2 r, L                          set x ( 0 - Wid / 2 )
5 q3 |. v! s- L9 T4 M2 H                          set y (0 - Dep / 2 )  ]
6 ]: {0 {0 p4 S2 U# s                          set d int (c / 5) * 59 W, V# m- Y" F% [8 y
   setxy   ( xcor-of turtle d + x )
% d5 ]0 A: }6 `6 T$ i           (ycor-of turtle d + y ) ; T& @% }: Q6 r3 O; T* X
         
: D, x  U4 u" i$ G2 X) |7 X/ {            
3 G: C2 |8 D, K* A# \8 s3 Xif (remainder who 5 = 3) [set k who5 c. U7 p4 U* L3 H7 v- Z
                          set x( Wid / 2)  * l3 x5 u+ w$ \: Z) K
                          set y (0 - Dep / 2 ) ]
) x5 z, B7 c- ~1 W; j                          set f int (k / 5) * 57 h6 }% l2 O6 N) v) k
  setxy   ( xcor-of turtle f + x )0 i- R; [5 M5 d% n5 t+ J1 }
           (ycor-of turtle f + y )
% ?) Y( y4 L$ R# V           
2 P) V7 y  c+ `! ]1 I8 p9 u  n           
: ], v9 z3 E* K; c, F. e: zif (remainder who 5 = 4) [set g who
0 ~+ E# X7 m6 y1 y                          set x Wid / 2 8 _! d6 P9 ?, J2 s4 A0 S, q- e
                          set y  Dep / 2 ]0 F) A5 b: T; E7 v- |
                          set h  int (g / 5) * 5
2 }9 Y) z9 j2 k  setxy   ( xcor-of turtle h + x )' C5 c  ~6 k5 Q' ]0 L
           (ycor-of turtle h + y )
' N! m, b# T2 N& |  b7 A- y+ \                          1 k0 N+ z$ Q' Z/ J
                          
3 ^# |9 C. l( k                          ]
' s1 t" N3 E( b: a7 E: p1 l4 Lend
1 d8 ^1 W! F8 X7 g) F. @  T. y8 k9 f& \2 D
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,3 \/ E; u: m+ k
应该是% ?5 a7 r) e& t0 z. D
ask turtles [2 `; [' S) C/ z) }; b1 [
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) $ b& B" V7 P7 ^: a3 X9 G( y
                          set y  Dep / 2 % [2 v6 N8 `2 O! W7 K
           set b  int (who / 5) * 5; V0 Z1 `5 [6 s7 W; E* o- r
    setxy ( xcor-of turtle b + x )) _5 n% n5 J7 \+ @
          ( ycor-of turtle b + y )]]
% i8 j  P; P2 G( Cend
' r; g+ y* Q6 j2 T& E& @8 C4 b1 P之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-28 10:34 , Processed in 0.014861 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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