设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8736|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( o/ b( G) x' p7 t' s; K9 w5 R" {) o6 A% q/ S
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 _2 z8 S# l4 H) G

; n0 m: Z, Z+ m4 h" ~- f. y- {turtles-own [a b c d k f g h
9 A& B( C+ m6 ?2 D  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) n- e: A" \9 {3 F) s, m% p
]
: i# v4 z  x- \# Qto new
; w4 y+ I( r' }( R8 S! `8 u, ~  ca
  B: P% |1 v# L# f  crt 5 * num_of_building
5 q# Y9 E) k( r5 Y$ Z/ N( D% H  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
  \% S. V6 Y: P2 J" c* ^0 |8 T  scatter     ;;keep center-turtle random positions
6 M, }2 X. u" \, ~; G2 v% c) g! N, m  unit_plan   ;;make up the building plan
4 g- |* p6 H* r8 Oend% m- w- W  R( q3 o3 T
to scatter2 {9 c5 ]) q. O! P2 j8 J
ask turtles with [remainder who 5 = 0]3 \% }; m7 u# n5 D. r; j
[) d4 ~# Q5 o5 J6 ?
set xcor xcor - 6 + random-float 154 Z. b$ W& }8 M1 ~& s
set ycor ycor - 6 + random-float 154 H7 h7 ]: ~' r$ B
]
+ y$ N# ^2 n$ i) h/ Q2 z6 Mend
6 Z1 Q; C: n# kto unit_plan " ~- d9 P* }# v. |
ask turtles [  h8 i  k% }$ p$ `+ t% ~8 [6 t0 Y
if (remainder who 5 = 1) [set a who
% }" Z2 W. g# z, l: k: S% W/ I                          set x ( 0 - Wid / 2 )
/ {$ }% j- W0 u& A                          set y  Dep / 2 ]( J  Y  d/ V# q, h2 n
           set b  int (a / 5) * 5) d$ X# w$ L& H6 p# G' K: l( u; y" ]( z
    setxy ( xcor-of turtle b + x )9 S7 Q. v0 d# ~3 |9 y9 T0 a
          ( ycor-of turtle b + y )( c3 }' T3 |( M, P* v1 v) N: ]
if (remainder who 5 = 2) [set c who
9 N: ]7 Q& P- c5 d, s3 e                          set x ( 0 - Wid / 2 ) ! p0 K  O- a2 n2 x
                          set y (0 - Dep / 2 )  ]* k- D$ }! V4 u& _0 \
                          set d int (c / 5) * 52 v  E/ g2 j7 g7 S
   setxy   ( xcor-of turtle d + x )3 N8 @0 n+ D3 Z
           (ycor-of turtle d + y )
' j$ t( M# b: {6 ?. A          3 o6 L$ G3 ^/ u
            0 [" R, h5 L$ `% S3 i: Q+ \, K
if (remainder who 5 = 3) [set k who; I) j, m4 |3 A  i
                          set x( Wid / 2)  
- K9 x  `9 O. P8 h; U2 t                          set y (0 - Dep / 2 ) ]
9 c4 O1 j1 J1 O                          set f int (k / 5) * 5; n; g; a3 V1 U6 Y3 v. O* O
  setxy   ( xcor-of turtle f + x )) |, ]+ Q4 w8 f! g, ~* ~
           (ycor-of turtle f + y ) 6 a) s' p5 n; A' ?3 w$ Q1 A
           
3 [; n# f; V+ E( V! l5 r4 _           
1 h6 E2 }) P6 x  u* |if (remainder who 5 = 4) [set g who
9 |( h" i0 n1 D5 T% W                          set x Wid / 2 * [2 K& x0 ~; E/ O! h
                          set y  Dep / 2 ]
0 R% A/ Z" _4 u                          set h  int (g / 5) * 5
8 g' k% o4 J0 n% F/ F; m% k  setxy   ( xcor-of turtle h + x )
# m& s3 `' d) }, r; \3 H5 ~7 n) n4 i8 P           (ycor-of turtle h + y )
/ ^: U4 p7 b# f; v2 f! _# x                          
& G0 a9 w# N+ n1 V" a6 P2 |+ ]                          " Z: V, D0 F+ r
                          ]/ h# g% S  U3 ^8 f: M1 W0 d- i
end0 }+ ^7 O1 [9 _2 ], y6 p. h
3 k' R7 B3 C( D: u
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," l( D5 ?. i& Y  E, S3 L
应该是
$ l( C; s4 u* Y) v8 a; X7 eask turtles [7 _1 j& {/ `5 r- s
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 2 y/ b2 E. C' ?/ p' f
                          set y  Dep / 2
" X2 b2 i5 K1 a' r3 m8 B0 Y4 Q, G; T           set b  int (who / 5) * 5
& G7 v8 B1 L  N! a1 v" r    setxy ( xcor-of turtle b + x )
* B8 `$ X% y. ?6 ]- R/ I, ^+ m          ( ycor-of turtle b + y )]]
7 b$ C$ W+ s0 u' dend
6 G% |2 k# D) Z6 h. r之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-30 00:45 , Processed in 0.027721 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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