设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8088|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
# E" E: n+ [; m+ f: P7 X, M3 L, e9 d3 i5 [8 x
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
$ y3 g! `4 \0 S# }5 G3 N
+ \9 d0 k# b* F" u1 F; Dturtles-own [a b c d k f g h
; Y" Z7 X* d  o/ @" |  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 3 ~; d* E7 _# i( I1 M; P3 d
]1 i$ ~+ F9 T3 c7 @& D; K
to new
6 f& w+ C- H; n  X$ A  ca
6 Z" c& W* a" B  J  crt 5 * num_of_building
+ o. H4 f% @) P# T  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
  B- q; ^7 X& d+ }2 j7 n  scatter     ;;keep center-turtle random positions
2 o) J" f! m; n  unit_plan   ;;make up the building plan4 z( K  s: }  q* c$ X1 B
end1 o8 r% P9 E3 L
to scatter" M% p- w- [7 N( ?: Q( T
ask turtles with [remainder who 5 = 0]
' f0 @3 L+ L6 V, Y' \2 k[) N+ n( k) v: z' p
set xcor xcor - 6 + random-float 15
9 Z) c4 I: i! lset ycor ycor - 6 + random-float 15
$ G0 G& v2 W" V. N, O) P]8 }0 ?  k0 P+ q6 j6 j" w
end
3 L) l. M( w2 D6 w; E8 O- h2 Kto unit_plan " H, n) B. R. B$ v9 g- {! v
ask turtles [( W) z- B" ~- z: w
if (remainder who 5 = 1) [set a who
) y+ `( L7 P0 z; a& y( [9 |2 k  L8 x                          set x ( 0 - Wid / 2 )
, }5 L+ ]1 `4 C7 }3 _5 `3 v                          set y  Dep / 2 ]
. j: z0 Z6 y& a           set b  int (a / 5) * 57 O$ E6 ^7 ]# M2 x
    setxy ( xcor-of turtle b + x )! z8 Z) C5 Q0 ^5 X+ _) n
          ( ycor-of turtle b + y )
" H/ F6 {- `* ?+ ?) c' W6 u8 I; zif (remainder who 5 = 2) [set c who
5 z1 l* {+ r* ~6 R: S                          set x ( 0 - Wid / 2 ) , [% j; _3 }% i1 ^
                          set y (0 - Dep / 2 )  ]/ O+ Y! @( r* ], O
                          set d int (c / 5) * 56 j* X6 }/ |( K: [3 K
   setxy   ( xcor-of turtle d + x ): w. S1 E8 @$ ~/ |  \' X
           (ycor-of turtle d + y )
) P4 Y8 f6 X) I* x4 _- z& s         
4 @. |' }+ Q) \8 F            1 I& d+ z) T6 p* V1 N0 `# v0 v8 I
if (remainder who 5 = 3) [set k who
3 w. B2 X! v6 g$ p  K                          set x( Wid / 2)  6 X0 @' @8 P' j9 X; M/ ^# M
                          set y (0 - Dep / 2 ) ]
& x: {. ^5 W- e* r                          set f int (k / 5) * 5
, T- q8 N3 M! T+ s: S5 K4 D* e  setxy   ( xcor-of turtle f + x )) @& B" |" v# x. A$ ^% o
           (ycor-of turtle f + y ) ! Z7 o( D8 h0 r! q  e, t
           
+ D( p. a/ Q- V) i; K6 s           
7 R  }7 t! z& `3 p9 J1 eif (remainder who 5 = 4) [set g who
5 m/ N' S8 D1 q                          set x Wid / 2 / I7 d8 c. {4 H) x. X" i
                          set y  Dep / 2 ]
6 {. }4 D/ Z% B  x* j5 v                          set h  int (g / 5) * 5
" q8 H# V: z; O) F8 K" L& w  setxy   ( xcor-of turtle h + x )& c: @8 n' @  F$ d, m& f7 R/ ?
           (ycor-of turtle h + y ) " L/ W4 g0 F5 x4 n' R0 P
                          * B5 P$ ]. d( H6 {* ]( }
                          
2 s/ j0 m. t) A: e                          ]4 @+ o. S: K2 V& k8 [6 v
end
& p+ l/ ~% d6 d$ a" N: u8 I, x5 l+ {! I6 J2 U; s; z3 m
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,' Z- X4 [, u( e) D: E4 Q" U" w
应该是& l: W2 K* b- L5 a/ B/ [% G3 g0 I  O
ask turtles [
: l) J, S- H1 }% q6 bif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) - x2 z2 b* b! t9 m
                          set y  Dep / 2 - r7 b9 \. h  j( R6 o( R. }7 L- {
           set b  int (who / 5) * 5
! m( f" ^1 e2 p: b( H% {8 x    setxy ( xcor-of turtle b + x )
) i  F$ [) ]% e          ( ycor-of turtle b + y )]]
! e/ H$ X4 m- N9 J% s. Mend
$ c2 E9 l! W4 g! u' f之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-6 12:07 , Processed in 0.012941 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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