设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6327|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& V( S6 `6 {5 d5 {% h: o
7 I8 h" _; q2 N. T. Z* j0 c
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。6 d8 ?3 G' I4 N, p1 y
3 A$ |) @# D6 t, X6 P
turtles-own [a b c d k f g h8 Z' l) n8 C# C7 P$ H9 G* k5 j* j; Y
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 2 e" f# z1 ^) E) G& p
]
% s* ^$ B6 K' u: i( Z, ]: Zto new
7 \) i* ]" M/ ?. W* D3 K3 t) j7 W  ca
( G% b) W+ Y9 ]  crt 5 * num_of_building+ t2 X8 B# a( B% X8 t) o+ l
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 g: N. ?3 s: c4 \8 w  scatter     ;;keep center-turtle random positions
8 G; a' e, p1 v* M' S0 C: }+ v9 \+ g; V  unit_plan   ;;make up the building plan
2 [! e8 }$ S' B% g6 V* C9 Pend
) C" H, ~9 Y5 G1 \8 M% L( k5 }to scatter6 \1 r  j: B8 V. ~
ask turtles with [remainder who 5 = 0]" Q- f- M, M# w% I
[- ?" b+ V  P$ Q6 p+ A- N% v( L
set xcor xcor - 6 + random-float 15
+ U4 A4 U/ `* d2 l" pset ycor ycor - 6 + random-float 15/ B2 o- C1 t6 ?/ u9 R
]
8 X8 b$ O6 }" aend
; o* Z. q$ A2 Z! K! h$ pto unit_plan
6 c& ~  R1 B; Vask turtles [8 R" V; G. B* |) i: Q
if (remainder who 5 = 1) [set a who 3 k* V8 R1 v+ A# y
                          set x ( 0 - Wid / 2 )
# F$ f: X3 X, Z1 J                          set y  Dep / 2 ]
& W" P/ j- Q% C2 d2 a4 c           set b  int (a / 5) * 5
* k6 o) |) U/ q8 I0 v! z& \    setxy ( xcor-of turtle b + x )7 x8 [9 W  v4 l/ O; E8 H8 s: A
          ( ycor-of turtle b + y )
# w5 K$ X* Q$ j& s' Wif (remainder who 5 = 2) [set c who) i/ t$ y  R- m* V3 }
                          set x ( 0 - Wid / 2 )
1 @0 T9 a" u. P! t! p" R/ x                          set y (0 - Dep / 2 )  ]
. |; `1 ~$ e7 {# C* p7 M                          set d int (c / 5) * 5
7 J! X9 E: v6 V% n6 _; v( ?" S   setxy   ( xcor-of turtle d + x )) w+ I$ L3 O) l, q- q1 u5 C8 i
           (ycor-of turtle d + y )
' m( x' k( r/ J( h          * {0 d+ G0 V7 Q
            
# a& u/ l& Z/ e" O) sif (remainder who 5 = 3) [set k who
+ ?# h" [" ~9 G4 W- k1 d4 D" ]                          set x( Wid / 2)  1 A6 b1 u8 D. e3 }
                          set y (0 - Dep / 2 ) ]
8 O  Z4 p# d- y% j$ B                          set f int (k / 5) * 5
3 T# x3 S# u0 ?' \  setxy   ( xcor-of turtle f + x )
3 x% f5 G* j8 c  [           (ycor-of turtle f + y ) & c* v* Z6 q. k7 t6 r6 `* l! T# }- c
           7 g' C: x* |& r4 M
           
! e! d+ \, u+ a# x$ S: Q! k# lif (remainder who 5 = 4) [set g who8 v3 o- ?* w$ x
                          set x Wid / 2 + ]! B: n/ W) J: g  _+ g; C( v" K
                          set y  Dep / 2 ]
1 P! A; e. v! T* j8 A4 b9 y2 V                          set h  int (g / 5) * 5
/ c2 I, O- s5 _- ?$ S  setxy   ( xcor-of turtle h + x )
- J, E' g. a$ V- b           (ycor-of turtle h + y )
1 p0 a) R9 E* W1 l8 J" E                          
' d6 z) o; l9 `! I                          1 A3 h1 R4 _/ Y
                          ]
: J- h9 s/ ^. Tend5 ~& p5 h5 `8 X3 B& w

6 [4 ~* o3 z3 T[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
2 u! x. M" ^9 X应该是
3 x* i4 E, r' _4 J& Nask turtles [7 v; _6 {* s. ?. }- Q& R; n9 p+ K
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
/ B% \8 [3 K! l! |% j- t                          set y  Dep / 2 5 s6 K. B) g8 ~! @/ Z
           set b  int (who / 5) * 59 c% I  H* c4 Q# p* t% S3 R
    setxy ( xcor-of turtle b + x )
5 c! S/ b' d  r0 K4 _          ( ycor-of turtle b + y )]]6 |+ n9 @9 R# v: N) s' Y  H; _# ]
end& P$ L% U; e% D* E
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-14 07:14 , Processed in 0.013734 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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