设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7863|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。' _" V& v/ c, ~& B
' V$ h+ D* @0 ?. j. d" v
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。! I* h7 C% c. U0 O- _  v9 c
& w6 J( D6 [- u/ n, D0 p! u
turtles-own [a b c d k f g h9 S! o; V6 t) c
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle * @: U( v; \, ~# \6 ^
]! r" n3 |" m9 y$ F0 k6 s
to new1 J1 K$ \" N6 ]  |$ K. j1 Y
  ca* Q# v& D1 z% r' A
  crt 5 * num_of_building6 r6 p* f* q* a6 j: Z: `
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]/ Z, k, @4 g/ p- e; b; d
  scatter     ;;keep center-turtle random positions & m' {6 d$ a: x) c
  unit_plan   ;;make up the building plan$ }2 H( g) N, N
end
, E. I) a' ^1 L) ?to scatter: c4 w7 R4 x4 m9 [' d
ask turtles with [remainder who 5 = 0]- Z5 L3 C& e$ ~" ?" U
[8 f. ?7 z, N1 y/ G
set xcor xcor - 6 + random-float 15
& g& a) ]3 T- z0 b/ ?2 `4 hset ycor ycor - 6 + random-float 153 c+ X& T+ Y( o8 N. ?0 f
]
, ?7 O8 ]- N7 E, |  Lend
/ t- E" \- _' X- pto unit_plan
/ g/ ^% ]' n0 f' n  ?" K! bask turtles [
1 d* G+ m* v" I, y$ I( G: A0 `if (remainder who 5 = 1) [set a who
. }* B. ~) E" V0 W                          set x ( 0 - Wid / 2 ) ) [# M! w' V- v0 x
                          set y  Dep / 2 ]
4 S! H$ k  i3 @7 D2 R/ B8 a5 p           set b  int (a / 5) * 54 O; O  U8 Q. K' w
    setxy ( xcor-of turtle b + x )
3 C7 A3 S, j0 k! y2 g2 U0 L4 h: Z5 ]; t          ( ycor-of turtle b + y )3 Q# X% I- P- |* p7 N7 t8 c* h# W
if (remainder who 5 = 2) [set c who% d5 s4 B  J" o
                          set x ( 0 - Wid / 2 )
) d+ g* ]- V# u( G7 J: j; o                          set y (0 - Dep / 2 )  ]
) p; O8 v: {2 H9 B                          set d int (c / 5) * 5. Q: {6 s: @  e8 Y$ q" ?! H* ?
   setxy   ( xcor-of turtle d + x )
$ E4 r$ s3 z! y0 A           (ycor-of turtle d + y ) 9 n6 M. p! Q# a
          6 ?9 T3 e' X$ l9 R9 i
            - {& L& b# K( U
if (remainder who 5 = 3) [set k who
" t( m; _5 O0 x' y" r; K                          set x( Wid / 2)  
5 N$ J+ v! A: T; T! x                          set y (0 - Dep / 2 ) ]
& N, s" M; o+ i1 S1 ?                          set f int (k / 5) * 59 R6 g5 V6 u/ ^* ?6 z
  setxy   ( xcor-of turtle f + x )
8 U% W2 H& [$ ?4 s/ Y           (ycor-of turtle f + y )
4 J) u& l! ^8 J9 J           
) }. t8 Z& r2 `0 [           
' s0 y! I6 ]: ~* iif (remainder who 5 = 4) [set g who
& z6 V1 o; W' q! K                          set x Wid / 2
# e6 b5 A8 N3 |. b1 n) d% D                          set y  Dep / 2 ], O1 X8 u. n2 t  F0 \
                          set h  int (g / 5) * 5! v4 n' \  x) M2 @: l+ b* r
  setxy   ( xcor-of turtle h + x )
. F/ V- Q/ D7 P) j/ _" u1 T& V           (ycor-of turtle h + y )
* m% T3 }' @6 Y2 z1 h1 O" _                          
/ r2 J8 N$ U4 [  K  a: q+ N                          
- k0 m9 ?, x& f- `                          ]
, u& t5 P. c, N5 J; G4 q, |, P) y3 xend
( r9 ]; d/ k# ^! C3 E! c& [% ?0 h& r0 `# \9 m
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 g6 f0 S3 L+ b& v3 v7 O3 K" W
应该是) E# h2 o0 \6 D  E5 w
ask turtles [
6 b8 j' e0 `* ]4 N7 }if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 1 d  o. y  ]. e
                          set y  Dep / 2 ! L; }) C+ n0 ]5 e3 l2 W/ @
           set b  int (who / 5) * 5* W( `! F: H5 z. O
    setxy ( xcor-of turtle b + x )
: r; y) ]! M3 ?8 l( L          ( ycor-of turtle b + y )]]3 j0 X4 O" D( U' z5 N2 e, G
end
; W( a$ R& H& P( K7 F6 t; t& Q# u* ]! f之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-12 07:23 , Processed in 0.019069 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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