设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7114|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& T  j) g7 O* D' ^' }5 k: |9 {1 Q
' M5 l+ B% R- _
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。$ k" o7 y" B7 y6 S* Z4 V
! V+ m0 G3 t" {6 M. T2 G2 n% Z" h
turtles-own [a b c d k f g h8 |! f: F+ C) ]/ F5 T
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
  F8 v; ]3 q  l- [: f3 I]
; _3 t! z; s. N% W2 O3 Nto new3 [# j6 X) Z9 Y3 J- r
  ca) ^# F& A3 F6 X$ L+ \
  crt 5 * num_of_building$ Y9 S5 ~0 j+ j; i1 A
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 L; {6 T4 m; I! `. M  scatter     ;;keep center-turtle random positions
2 L. M2 d1 o/ ^0 D( p0 N! b! K  unit_plan   ;;make up the building plan
7 [8 S5 h! F3 h4 H5 jend( C/ }6 \( B5 F8 C
to scatter. h/ \! U3 ]- }  F6 L+ q
ask turtles with [remainder who 5 = 0]
0 X% Y9 Q  ~5 y' O" H3 R% \[
, I! I2 }7 O: ]' Pset xcor xcor - 6 + random-float 15
$ i; y. Q( k  _4 ]8 q7 S7 iset ycor ycor - 6 + random-float 15
' |3 w$ |1 @/ ~]$ A0 N3 T- N$ A" W0 s
end
. a, }( f4 e9 E1 Cto unit_plan 1 t6 ]7 j3 G, f# q* q7 C( F
ask turtles [: z; L2 Y' ]! v, D  W% p
if (remainder who 5 = 1) [set a who
' r/ D( ~/ f# v& T& b                          set x ( 0 - Wid / 2 ) 2 a: d* G, k6 G+ Y, E* p6 ]
                          set y  Dep / 2 ]
2 |  o8 h+ K# U+ P8 z$ V           set b  int (a / 5) * 5
' f! e$ Y4 \( G' D% M    setxy ( xcor-of turtle b + x )7 z0 Y9 I. k% h
          ( ycor-of turtle b + y )
5 `4 T# r; Z, G( d" X3 t# ]if (remainder who 5 = 2) [set c who% D  f) Y0 W- O2 v% z+ f
                          set x ( 0 - Wid / 2 )
! h7 Y  F2 G; @, V                          set y (0 - Dep / 2 )  ]
* a$ g7 y  [% n; ]) f9 E# e                          set d int (c / 5) * 5
1 h9 _% X/ M* N9 R0 O; x+ D   setxy   ( xcor-of turtle d + x )
4 y/ }+ S9 Y8 Q6 h- W& ~           (ycor-of turtle d + y ) , I  [. e  i! M8 F$ }* Z
          1 w* K! @/ d+ G" q& Y; [0 r
            
! j* a6 X9 g8 O' y. h- {. r/ H1 a4 Oif (remainder who 5 = 3) [set k who' ~  b. i9 e. v! ^: |' ~/ G* e
                          set x( Wid / 2)  
  }0 A# S0 I1 {$ ~& y9 i5 f4 e4 B                          set y (0 - Dep / 2 ) ]
1 u+ \; d% ]: L5 d* C9 u                          set f int (k / 5) * 5
, O8 H8 }, _( }  setxy   ( xcor-of turtle f + x )
5 r$ N% j& A8 w: p; \           (ycor-of turtle f + y )
/ S4 E& I/ G5 y" B$ [. j           
/ e; a; z- o3 X" q           
5 p& I0 A  [2 L4 L/ L) `/ Zif (remainder who 5 = 4) [set g who
# F; f* _# y/ |, M. C$ K1 W                          set x Wid / 2
8 n5 [! r) R/ m) V" `) a                          set y  Dep / 2 ]
% x4 T. J% Z+ q3 A& g% n                          set h  int (g / 5) * 5
' ]! b7 t* ^- t; ~% d- b- ^  setxy   ( xcor-of turtle h + x )
, p. a' q0 g" [/ k1 I% S           (ycor-of turtle h + y ) " r3 U' \' v) W; a
                          4 @  }0 Z- @8 b; u
                          6 Q, z/ |& e, |. p2 o
                          ]
* Z3 Z; |; e9 nend
5 D. T1 d: J$ `9 V1 s' f8 q
! m8 E$ Q6 f, e[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
) _9 M2 V% v7 `0 C6 y应该是, Q; H8 {# U% t1 Z% r' {7 g
ask turtles [
" j% q5 q. E5 f; L' S. Uif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
( p8 j: V) R/ y" V' Z- u* O                          set y  Dep / 2
8 ?. P4 K% B: ]# _6 ~           set b  int (who / 5) * 55 W; ?  }* i% P, l/ g% P+ x
    setxy ( xcor-of turtle b + x )
# X/ [! a, o0 ^: r          ( ycor-of turtle b + y )]]' c6 t# t: b/ `# ?, S& d6 F
end
5 w, k3 r* v" M& h( S/ B. }+ S之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-1 03:53 , Processed in 0.019027 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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