设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8317|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
0 ~. I# D, }4 r, z. D* P$ k3 J8 s) z. x; P" H3 v/ ~5 k
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。) l; i% f( ?1 q! ?% Q. q. X

8 x7 r8 H3 K0 u! W5 Tturtles-own [a b c d k f g h
. m/ o+ P: K( U7 j/ t; @  x y     ;; these are the leaf-turtle's offsets relative to center-turtle % S6 e% D! }" d5 I0 I' I+ _  @
]8 ^4 N  z# _  `4 Y& n
to new3 t1 {3 O. J* e7 r$ ~
  ca& A: [' {# P/ A. _" s: D
  crt 5 * num_of_building
+ {3 f' K4 U) o4 `6 Z2 m" _  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]9 h" G! Y! n& ~
  scatter     ;;keep center-turtle random positions
+ {# G, d' k* N" W, k6 H  unit_plan   ;;make up the building plan
- @$ l5 M" A7 `" {+ @/ Qend
( @2 d3 U1 S9 Wto scatter$ f( A5 n2 ?7 I% e' h+ _, ^
ask turtles with [remainder who 5 = 0]
5 |" W/ @" O& B[
7 c( E" j; B1 w7 B4 Eset xcor xcor - 6 + random-float 15
8 O; n! b9 l( [) j" C' R8 ]' w0 ?set ycor ycor - 6 + random-float 15
' u9 U7 `4 \( ~% G% c$ N' q]
: Q5 {; g( J% Q& L: vend+ t9 G' C, K: u' v
to unit_plan
' {5 h7 {7 @! J) Zask turtles [( U: W. d7 J- _+ b0 w9 X: R4 _
if (remainder who 5 = 1) [set a who
, x# x) d/ R- [                          set x ( 0 - Wid / 2 ) 1 R( `0 R  ^% z/ H3 E% U2 t2 Q
                          set y  Dep / 2 ]! _: ~0 S( y6 |2 V. Y
           set b  int (a / 5) * 5: _6 b. D0 k6 G3 p
    setxy ( xcor-of turtle b + x )* d& r: C  w! d7 h0 W9 F: C
          ( ycor-of turtle b + y )
8 {, T) _, {3 N3 Zif (remainder who 5 = 2) [set c who
1 Y0 @0 N- f. X1 |3 Z                          set x ( 0 - Wid / 2 ) # c7 _( c: M+ p( n' s7 h' \6 d
                          set y (0 - Dep / 2 )  ]
3 x* C* l" i( d% @/ d                          set d int (c / 5) * 54 q- {0 U/ y6 l; D8 @
   setxy   ( xcor-of turtle d + x )/ x2 b& L% r6 ~: z8 s) J1 \
           (ycor-of turtle d + y )
6 ^+ c" t. X- W/ q2 B& b( K* J         
# [0 l" F9 V8 x  i+ j; e            
2 {$ v' P- T0 D' h# z3 n3 A- j- ^; i# wif (remainder who 5 = 3) [set k who
9 e" t2 d& P' H3 _, t1 s1 K0 D                          set x( Wid / 2)  % W# Z4 ]# n9 a8 H, |
                          set y (0 - Dep / 2 ) ]
# v$ k# C8 C1 I$ a( r                          set f int (k / 5) * 5  i0 x4 ]2 Q$ D1 l
  setxy   ( xcor-of turtle f + x )
) b2 X7 H0 _2 d% a           (ycor-of turtle f + y ) $ b5 z( E* n* [! t7 y7 M
           
4 ?1 {8 R9 I8 Z6 W4 E+ P           ! @6 C0 s# q6 e" k
if (remainder who 5 = 4) [set g who
" C: v. G; u* K5 ]" x7 e3 u- ^                          set x Wid / 2
$ w! `( [0 R! Q+ u9 N                          set y  Dep / 2 ]
7 ?% w- D* [* Y3 |                          set h  int (g / 5) * 5, h+ ?* b) d0 s1 V6 ]; R
  setxy   ( xcor-of turtle h + x )# p' b) e% z- Y! t
           (ycor-of turtle h + y ) * J" J+ F0 y  }" W0 _9 \
                          1 i! J7 k. J$ F
                          
+ W) M, [4 y. i* m- i                          ]
4 H& ~, ]- x0 D* Nend1 q2 c  P& r6 d# F  l* W* D# O

) J* i, j" k5 @! K  L[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
6 z- q! h, L0 H; ^, Y9 [# ]. s应该是7 j* p( _0 z1 l+ e6 D" g9 R
ask turtles [0 v; X* M, N# m5 A
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
6 X  N# X& e% Y9 j! p# B0 l                          set y  Dep / 2 6 ]% S% ]2 R$ E2 t) X% _1 M
           set b  int (who / 5) * 53 m3 B! ?* }; B0 u5 X
    setxy ( xcor-of turtle b + x )7 t1 ^# o/ K% D, z* ]  p
          ( ycor-of turtle b + y )]]
1 F7 F. s: n4 R. H" |& lend5 t+ k; z" }3 t6 ?/ e
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-6 04:17 , Processed in 0.017498 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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