设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8867|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
* v5 s3 c  V1 s2 o! i' w) @4 T: N+ y
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
5 h5 B0 }" m. a2 V% `  s, {" C/ {
' s/ i7 `6 Q( k3 R: {turtles-own [a b c d k f g h$ @5 P" D4 r$ Y) K
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) n7 K- j" N7 z! Y: P) \
]
8 I$ v- l( `8 P, v# Y- Sto new1 \& K& i2 j5 |/ [8 g
  ca
& u7 d. ?& |: i8 a& _  crt 5 * num_of_building
+ C! g4 o! _/ S  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
/ |. I& O! f% a  scatter     ;;keep center-turtle random positions - N6 |* T8 X5 A! {( i& m! U) i
  unit_plan   ;;make up the building plan
% K* b9 Y+ k) X# m. F1 m) vend" d* s% ^) W, t9 ]8 E! p. u% x
to scatter, {* x0 S5 D2 a% V7 J  z2 E0 d
ask turtles with [remainder who 5 = 0]& z. W; `1 s1 j; I/ y: _5 k
[. B- A, c% |, q; `2 E
set xcor xcor - 6 + random-float 159 j8 H/ P5 ^7 e+ c5 A6 q
set ycor ycor - 6 + random-float 15  U% S8 f* z4 m8 M5 R& g+ @5 {
]
2 i) i$ u, P& ]) x+ Jend% [+ p7 C2 Q0 U9 p8 I
to unit_plan
, T, @, ~' v5 r2 Z* C1 ]+ g' x' m7 Qask turtles [
0 P1 w9 S& J8 b6 }! I! I  nif (remainder who 5 = 1) [set a who
  X/ I2 c( g0 N: r) F4 n* K                          set x ( 0 - Wid / 2 ) ) {: P+ Z( R6 m+ M) M' ]( Z$ m% P+ M" m
                          set y  Dep / 2 ]: {# t7 N& B" G# k2 L- F
           set b  int (a / 5) * 5+ K( s3 Q; P) i
    setxy ( xcor-of turtle b + x )4 G4 O$ q" O* `9 ]8 S6 Y
          ( ycor-of turtle b + y )
( _# j4 m8 L( |+ ]$ s/ x- lif (remainder who 5 = 2) [set c who
* L% w. w, v/ R6 o" O                          set x ( 0 - Wid / 2 )   l; H2 |: E- b& o- q
                          set y (0 - Dep / 2 )  ]! l  G4 l  N9 ~
                          set d int (c / 5) * 5
9 i; S4 P4 v; u   setxy   ( xcor-of turtle d + x )
- Q( i" n: k" k0 i% |- e3 q           (ycor-of turtle d + y )
/ A# V) o  a8 d/ ~$ e  K8 R3 w         
$ ]6 ]( B- e, P% U2 c7 T            " I& x/ K! P# I+ P5 L/ E
if (remainder who 5 = 3) [set k who. p8 J3 H; {' {6 M( e& w
                          set x( Wid / 2)  
$ j6 `9 `! n4 S  t. T2 B                          set y (0 - Dep / 2 ) ]
" T/ ?. a% p3 a- K) [2 d$ c                          set f int (k / 5) * 5
, P; t- ^# }/ ]( D6 _4 g  setxy   ( xcor-of turtle f + x )
& _& N) f$ I' j2 t/ Y* ~0 s; {           (ycor-of turtle f + y ) 8 R( h" g  S0 E
           
4 Y* C& ^3 L( K- w           * Z0 B4 d8 X- U6 v; m
if (remainder who 5 = 4) [set g who+ X+ V* s- a7 c' h+ C( Z* l
                          set x Wid / 2   g" _2 ~6 I8 Z0 f6 X8 x3 P$ U
                          set y  Dep / 2 ]
, }3 b# d7 @) _1 W                          set h  int (g / 5) * 5
6 [2 P( k1 ]/ J- d+ s3 i; y! g  setxy   ( xcor-of turtle h + x )- T) A& g2 g; }0 P+ c# G5 Q$ T3 }
           (ycor-of turtle h + y )
. c3 e) ?- S( M                          # ~/ G/ A3 q$ j0 v& I
                          3 ]$ b3 q! P* E  N+ z$ D" A, a
                          ]
& E' J, P( x) e9 v) g$ T6 ]  ?end! z  X. C# t) D, g) |1 R
0 l- n7 S% w1 k$ @2 s
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
) G  e: z+ y, a4 V* J1 k9 V应该是
- N, P; v- i9 f) rask turtles [# R; U! Q6 l# E% S
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) & p; a, V, {# g
                          set y  Dep / 2
0 T9 A8 Z7 B: D" W' s           set b  int (who / 5) * 55 o3 d( X' Y9 R
    setxy ( xcor-of turtle b + x )
) ?3 _. z  ^. \) i2 i          ( ycor-of turtle b + y )]]
/ ^( s# c0 |: ^+ j' Rend# {* F* W: F9 ?! g5 ^
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-13 22:05 , Processed in 0.015096 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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