设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7832|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
! Z- S7 \  \9 g1 n9 I  }, J
& C, \" }1 O& ^* X- ~5 D& [/ y但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' V# p9 u% ]0 S
& D! L. f' {( L4 A
turtles-own [a b c d k f g h
1 t# R% }4 Q# c: `1 b2 L  x y     ;; these are the leaf-turtle's offsets relative to center-turtle : m1 M& r  g4 k
]
: O1 \$ f2 m; f, C$ Lto new
# M+ d( C/ |' f  ca
5 I, k: R3 }% t' z2 b4 u4 |. V  crt 5 * num_of_building7 Z" J  G) f$ H% s
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]+ J9 m2 J, S. j- n5 u
  scatter     ;;keep center-turtle random positions * W$ e- b+ M) f: V; o) ^
  unit_plan   ;;make up the building plan
# p6 t9 K7 Y3 w# t8 Wend2 g% b2 l* l! H5 `
to scatter- @: v& Z6 V/ P2 M; V
ask turtles with [remainder who 5 = 0]3 t7 z& y( [, Z1 G$ B
[
- L" l. v& h: T. s8 b' x; }4 }  Uset xcor xcor - 6 + random-float 15
7 |0 Q, a9 X( R  t. uset ycor ycor - 6 + random-float 15
# r4 T# w% D" E* A& i]
& d. _& f$ |  E4 \end
+ ?8 N: k3 V6 o: l& wto unit_plan / p7 z- A$ B" z) \( B
ask turtles [& i/ K8 f9 H0 n8 X* z
if (remainder who 5 = 1) [set a who
- y( C- ]+ `- }8 q. S2 ^, N6 P                          set x ( 0 - Wid / 2 )
. }0 O; L- j( G) ^' a# [! s, P1 `                          set y  Dep / 2 ]' X1 e2 B4 i* C8 S% v' B8 S* G3 J
           set b  int (a / 5) * 5
6 c% T$ ^% u' _: l3 i    setxy ( xcor-of turtle b + x )4 _( f9 t3 X, n7 L
          ( ycor-of turtle b + y ). c; ~1 z! c3 j; W7 F
if (remainder who 5 = 2) [set c who
* w/ r/ j/ ?, X+ h+ A4 Y                          set x ( 0 - Wid / 2 )
% T% o3 O4 P5 y9 Q% U8 l                          set y (0 - Dep / 2 )  ]" `2 k. O9 {! J9 p9 M* W" e4 V
                          set d int (c / 5) * 5; V( v5 y9 P8 t3 |4 G' z
   setxy   ( xcor-of turtle d + x )' a- l& i+ s  i# G/ U0 L# q
           (ycor-of turtle d + y ) 9 }: @- v- Y+ G6 M% |) d: V9 F  _
         
! v1 R* h- n) _7 r% I0 c            
9 e% V% h% O; d* [if (remainder who 5 = 3) [set k who
2 R  E9 Q! l, }7 V                          set x( Wid / 2)  / c* ]! j/ w" Q4 f/ |! L! ^: ~7 ]* o
                          set y (0 - Dep / 2 ) ]: Q' @# m) Y9 s+ R: k7 i
                          set f int (k / 5) * 54 D0 K: B$ n3 L4 Y  S
  setxy   ( xcor-of turtle f + x )
& v. S8 g$ ?4 D- C2 E           (ycor-of turtle f + y )
( W0 J+ }: s5 L& Q, f( z           
, W, V: Y+ K, ]2 m, p, J) v           $ o4 ~: o- s5 A4 x; t
if (remainder who 5 = 4) [set g who2 f( A$ x" M: N+ R1 n
                          set x Wid / 2 - p/ z$ E9 d2 k3 d3 V5 O' Y
                          set y  Dep / 2 ]! w# s4 S& {+ {) N
                          set h  int (g / 5) * 5. S! N) F. c- H5 y+ h
  setxy   ( xcor-of turtle h + x )
# |6 V( k; b# Y  s           (ycor-of turtle h + y ) 5 }1 \* S# I* d4 g, m0 S& }& }0 O
                          * T, j2 M2 N7 j/ K0 j
                          ! h; J7 p: G+ p, s% l4 |
                          ]' L% F) ^6 I5 m+ T( H* Q/ H
end
, B( |4 U, K2 S6 D9 g% O/ Q) v0 a/ I1 b3 v" t- k
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
! h' F: c' M: g应该是
& n5 `( }; o. H8 C' Bask turtles [1 a" ^1 }+ g# h% E0 E$ M
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
  z! w  a) d1 F                          set y  Dep / 2 # x$ y0 v% S' T* z$ U1 N( U: O
           set b  int (who / 5) * 5
+ M( @( z  R2 m7 L9 X& X3 C    setxy ( xcor-of turtle b + x )
6 _! y0 g" ?4 Y+ x  b6 j( V7 C) p          ( ycor-of turtle b + y )]]; S3 q( P8 [1 Z5 B1 t
end
5 L8 O% g' W5 ~: d# b4 ]之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-7 02:39 , Processed in 0.017191 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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