设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8500|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
4 e, Q) @7 P; W/ u5 H! ]0 I2 _
6 u; [$ G0 }7 G! [' ~% @但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。! C& S7 W' M1 P, V( R7 v

/ o8 Y( M  W- c- lturtles-own [a b c d k f g h
. u& A# g+ G3 h3 t# a' b" H  x y     ;; these are the leaf-turtle's offsets relative to center-turtle * s& ]" ^$ ?: q7 b& T
]
% z8 r8 Q3 k' ]# d; hto new
$ b6 N" N9 d8 p$ p4 ]* h  ca/ r* D( Q4 A% t+ N' q
  crt 5 * num_of_building8 @: D. q- U( T. C2 \
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 V' g8 t) n# p( S% V$ E
  scatter     ;;keep center-turtle random positions
- a1 K' B- p' ^0 j+ X2 I  p  unit_plan   ;;make up the building plan
/ z1 v! i  j" N' U6 vend% N. m! F! B* m. _6 c
to scatter  W. j: ^' }! @, Q" P4 a
ask turtles with [remainder who 5 = 0]5 C: [' t& P& _, s
[+ k# U8 ?4 W7 K) y: t
set xcor xcor - 6 + random-float 15
! T* f# L! Y. L( D/ K9 u* tset ycor ycor - 6 + random-float 15; Q: M. j* n/ G3 \6 H. h
]
' j; y0 D' f+ N" u  ?4 c7 p: Q7 bend
; |8 B& S0 {" q- bto unit_plan ' P* k) H3 f4 X3 W
ask turtles [  S& Y$ a% t' w0 |6 w0 i* w& t8 H
if (remainder who 5 = 1) [set a who & H6 o  l- e/ B
                          set x ( 0 - Wid / 2 )
( c  u: B# I! p                          set y  Dep / 2 ]; E# y! _- @9 g% B0 S) \
           set b  int (a / 5) * 5$ g+ t0 f( s7 ^
    setxy ( xcor-of turtle b + x ); H4 H$ J/ g! s- x: K5 }* h
          ( ycor-of turtle b + y )
; a$ P8 t5 |. r9 Yif (remainder who 5 = 2) [set c who
0 e( K. R( D) u, A4 {6 c% x- K                          set x ( 0 - Wid / 2 ) 7 A; f$ S: K- h3 ~4 z" `
                          set y (0 - Dep / 2 )  ]
) {$ C, w7 z5 v; X* {  _                          set d int (c / 5) * 5
! @% s3 O4 B; ~$ v" m0 w# T3 I" P   setxy   ( xcor-of turtle d + x )7 K8 q2 ~( x( _8 j
           (ycor-of turtle d + y ) ) K1 E+ q' g$ _% \  K
         
, _. J3 e* p8 j7 V2 j3 K            1 m& y) ~7 W! l
if (remainder who 5 = 3) [set k who
% e5 K, L( P& h  k7 _                          set x( Wid / 2)  
# u8 U0 ~) [0 b+ x                          set y (0 - Dep / 2 ) ]
) j* Y0 \. s9 F                          set f int (k / 5) * 5
2 y. @* x, \. f3 O  setxy   ( xcor-of turtle f + x )3 x3 G! [! {: v5 R8 B
           (ycor-of turtle f + y ) ( M0 [. v8 I& E/ C7 x3 {; X
           
5 s% A9 ]; D$ M3 ]           
5 P6 c7 S( ^! W8 h' A% |2 Cif (remainder who 5 = 4) [set g who
% [9 ^5 a1 M5 N                          set x Wid / 2
5 Q' E; Z& x5 P. a6 m5 h- ?4 r                          set y  Dep / 2 ]
$ x: {1 `9 M& [1 \. f                          set h  int (g / 5) * 5# U" o7 T4 N: Z/ f0 P" ^5 n$ K& e
  setxy   ( xcor-of turtle h + x )7 V- M" A7 T% `( {- W
           (ycor-of turtle h + y )
& R4 F2 K( `- s% T0 Z: @, b                          
/ I% B% ^: L) [/ @; S; Q                          9 A5 p" s8 Y  E- i! ~5 x/ W
                          ]
& ~7 \% x& ~% e1 @2 yend
0 {& ], s5 D9 [' G. v
5 [, _3 Z0 \: A2 Q9 B; M[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 U$ m' m& @* ?+ d" f
应该是* j. [; I1 L  z. U
ask turtles [
1 M  I# U$ f8 `0 n/ ?' i/ Y1 Bif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 4 Y' _* m: y- g0 ]5 Y
                          set y  Dep / 2
" N) S$ t. y9 p. K           set b  int (who / 5) * 5. E) e; ?, h9 \# m+ y; y4 U4 }2 V, |
    setxy ( xcor-of turtle b + x )+ ?' i" f7 O; v' I6 [
          ( ycor-of turtle b + y )]]
# u1 p% v) f: e% M8 ^end
0 W: N% ?# J; ?, y5 R, w( x之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-5 06:16 , Processed in 0.018232 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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