设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7236|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
) s! m+ U) t2 V! c/ N% @# I5 W/ q! E9 J: D+ a0 _8 }1 |
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。# z" w8 k( Z0 R& W

9 S7 V5 W* }/ oturtles-own [a b c d k f g h; u/ I/ t6 A9 w0 N
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
6 v6 @  e) J) X7 `! i( k]$ Z) V5 Z5 ^1 d1 A- L; O
to new
& U  A' u) T# p5 `6 S3 t  ca
* L$ q. s9 Y+ ]4 ~  crt 5 * num_of_building
5 l# L4 v+ p( p2 x/ y) S6 v  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
8 d% d: ~7 _2 W1 t& A. q  |2 c* n  scatter     ;;keep center-turtle random positions
/ h# T1 u" l; s) x  unit_plan   ;;make up the building plan6 ~, Y2 {6 u6 o5 d$ u1 x
end
9 }6 N- K9 h: D- u7 Gto scatter
- U) k  k% j- p1 V/ D/ qask turtles with [remainder who 5 = 0]
  k* J/ H- k3 s$ X  f) O& B, F[
$ a8 g" f& u1 |  T! n% ?set xcor xcor - 6 + random-float 15
- e5 x' G+ {6 I5 y1 O5 zset ycor ycor - 6 + random-float 15# G+ c) w9 E! k* C
]
8 W6 V5 P8 ?, S8 ^9 Z; u0 Lend# G" n( g8 q  j8 I7 D
to unit_plan 1 Y" n1 j* R* f
ask turtles [
* r/ }# [9 z' u$ ^* iif (remainder who 5 = 1) [set a who
2 ]- n4 @6 X3 c# B: T3 {' @                          set x ( 0 - Wid / 2 )
  @+ I& A) X: n% c* q( H9 \                          set y  Dep / 2 ]
  s" g1 J# E$ L: J3 q           set b  int (a / 5) * 5* A9 h' P% J/ |8 a4 @' m% k! ]
    setxy ( xcor-of turtle b + x )
$ Q7 r" r$ j* g. t          ( ycor-of turtle b + y )
0 K' a+ {! r' U' Mif (remainder who 5 = 2) [set c who1 D4 B+ c  w( {0 e  R& H" i; D/ c2 Y
                          set x ( 0 - Wid / 2 ) - h. F9 P8 N! m! P  t/ ]
                          set y (0 - Dep / 2 )  ]& X% ]. D" ^* D! Q6 }$ }$ Z
                          set d int (c / 5) * 5
& V6 u  W, _" Y4 c9 L0 E! `) k   setxy   ( xcor-of turtle d + x )# a: K& `6 g4 z, L* x
           (ycor-of turtle d + y ) . p7 Y- n2 i$ _* f% f
         
7 g! w# S7 j, l. {9 I; Y+ D7 D) i            ! `8 u6 X. L7 c9 Q' x* A4 g
if (remainder who 5 = 3) [set k who
- _% g2 @+ R* {. {. {) {) x) ]/ z& d7 o                          set x( Wid / 2)  , t  f. e" H8 J2 }2 }! w% k
                          set y (0 - Dep / 2 ) ]6 x& }+ y( q2 h; J; |+ |' d
                          set f int (k / 5) * 5
# y& Y3 Z7 _0 {# W; ?( f  setxy   ( xcor-of turtle f + x )0 C) v' N/ M* N1 `1 U6 w
           (ycor-of turtle f + y ) 7 B( n; ?5 c/ o! R) T, l2 y. o& a
           
4 k' s5 V$ A* u  e( L/ [4 ^% G           
: D$ Z6 ^- I5 C' x( ]if (remainder who 5 = 4) [set g who- o6 h( O: {8 N; }/ H7 i/ b% w
                          set x Wid / 2
" ?: r1 I; w; h. y# y                          set y  Dep / 2 ]. C/ @. V1 D  T* D/ y
                          set h  int (g / 5) * 5
$ L8 C/ J* f3 U+ G9 ?  v5 v5 ]  setxy   ( xcor-of turtle h + x )1 t1 D9 E5 K2 }0 b
           (ycor-of turtle h + y )
- A, l7 }7 g* T! w" ~- e' Z                          
. j; M1 \/ V/ P" ^6 i                          / H9 q# H6 \* M2 k5 p
                          ]
- s  k. ]# D8 R  Z6 _3 X# }( Q( Bend$ z" h0 m! D$ k1 g: M, Y

& z" X2 v1 a# z( v0 n3 H. A[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
( A; R( a( o3 w1 C( h7 }应该是
% }% f" o* H$ M+ {$ L  B9 rask turtles [. `9 }- U) U0 r5 m  O
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) . P6 @) ^# H$ `8 x; E
                          set y  Dep / 2 . H) v- z& e2 C! p
           set b  int (who / 5) * 5
* n5 b1 [5 ^2 K- r- \, s/ u    setxy ( xcor-of turtle b + x )
! u, P6 W/ G# H, \" E9 _0 x          ( ycor-of turtle b + y )]]: u  `( N, {7 _: e6 w5 ?
end
; w0 {. N' D9 s4 t0 O& f1 P之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-20 11:02 , Processed in 0.019953 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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