设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6724|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( x+ `6 m8 H% r% J
8 ^( e0 d' [5 [但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
/ a) E, O9 b2 E. y9 w: Y: L
' J: @6 V9 V* b3 @turtles-own [a b c d k f g h
/ G  b& @4 C+ U7 ?1 |  ~- l3 I  x y     ;; these are the leaf-turtle's offsets relative to center-turtle - a$ z4 O! _) T2 S4 o
]
0 R: L0 F. q# k3 |; @; zto new3 M3 J6 w/ T& P# ~6 y- b
  ca0 J6 C. R; b$ y* [# S
  crt 5 * num_of_building
7 t$ s& k7 t/ @. X3 A% _& r  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]- C: i) I' i, w" I  |' w% p+ E
  scatter     ;;keep center-turtle random positions
$ o+ g( p1 `3 r2 p% a  unit_plan   ;;make up the building plan
8 @; A8 y( g8 u. ~. `end
* Q, t( k, w! }" s1 u: `6 }to scatter
0 R4 q: k* }( W/ s  ~ask turtles with [remainder who 5 = 0]
# i/ c2 J) h$ t8 l6 @[
# O5 j8 \/ ?2 J- I1 Z9 P( {+ l. eset xcor xcor - 6 + random-float 15+ u6 L1 Q# O0 H$ G8 t5 ~$ z4 H
set ycor ycor - 6 + random-float 15& V+ k; @; Z+ J3 e! s) r4 J/ h5 b
]
. p+ v! w$ @* C' r- e! A- uend
5 z7 e) j1 A. J$ d# Jto unit_plan
- D5 c2 V1 O4 O3 e0 D* mask turtles [* q4 J# ?, G, k- T% P% E
if (remainder who 5 = 1) [set a who
8 P4 k8 ?) `! i5 c5 ~5 ?! d7 a                          set x ( 0 - Wid / 2 ) : |+ A7 g' C% I1 Q1 n
                          set y  Dep / 2 ]
, j( w7 c1 F) C, c, F' B: J+ A           set b  int (a / 5) * 5
6 p3 @9 _, y! r' a; t* S' E7 s    setxy ( xcor-of turtle b + x )" q5 R8 \! L3 X
          ( ycor-of turtle b + y )
! i9 ]( I; G0 Cif (remainder who 5 = 2) [set c who& p& E/ i: {! b- v2 j
                          set x ( 0 - Wid / 2 ) ; i1 X! c; z1 _7 I" D8 X0 u& }. @
                          set y (0 - Dep / 2 )  ]
7 }# P2 i0 J$ w- d                          set d int (c / 5) * 5
7 v: l" X0 H4 Z% O% d& a   setxy   ( xcor-of turtle d + x )
- Q: K0 u; ^+ L3 e5 ^* K! C           (ycor-of turtle d + y )
) n1 n& S5 o9 m% Y* K          4 f& I9 k8 ]" |. B( F' V0 n* g$ ]
            . ^: D6 ?. I" h; p4 k
if (remainder who 5 = 3) [set k who- L4 ?6 Y' Y7 i7 l6 Z# C( A6 E0 M
                          set x( Wid / 2)  
: u: b& p9 ~  [# |0 n- N                          set y (0 - Dep / 2 ) ]' d6 u8 t2 U/ m& S
                          set f int (k / 5) * 5
. X1 b" F6 ^& w+ V  setxy   ( xcor-of turtle f + x )
' M" o& ]. [7 G5 {" t' h4 w           (ycor-of turtle f + y )
- p/ @! _  S' o% M           
5 x9 g- e! j- O& ~           / U7 v$ d, N8 q& J
if (remainder who 5 = 4) [set g who+ S, b1 g) w: K$ }; T
                          set x Wid / 2
/ \1 C/ {' _. H6 y3 T$ w                          set y  Dep / 2 ]5 z, p# E3 c5 M9 E9 [9 {4 r
                          set h  int (g / 5) * 5
3 C6 K1 B3 B) R* l7 I4 m  A$ c6 @  setxy   ( xcor-of turtle h + x )! R1 e2 e/ q! P: u  t  x* G* n
           (ycor-of turtle h + y ) / Y1 S& I1 U  V. F3 A
                          ( x, P9 ]' U/ j" b3 M) D
                          0 }7 |, J9 V' ]  T4 J
                          ]
6 b: Z& U& b: E4 ~; k, |+ V" w7 Xend
, Y2 q# ^& m4 {: X2 z$ v1 }+ e2 M4 X/ c: o0 y+ E+ s5 Q4 l
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- r7 _+ C; k7 t( s- U
应该是- n/ g; a7 J$ z' b$ B" D) g
ask turtles [$ a8 O5 A" e3 C: Y9 e) p# |- c3 z
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
7 H2 H3 x/ O; Q: z7 {4 A6 U( }0 `- n+ _                          set y  Dep / 2 ) N( a: n* Q' X- V, D" o& D! j
           set b  int (who / 5) * 5
0 c0 n. H9 Q/ f4 m( M    setxy ( xcor-of turtle b + x ): l, {0 u! i, D1 t1 h$ }' y3 k
          ( ycor-of turtle b + y )]]
0 _+ o0 {  }" Q- {end
* m2 {# N; F7 _& ?/ ]' A' z% Y$ U之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-17 21:23 , Processed in 0.021381 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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