设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7345|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。. ?  k( K/ m$ x0 v; @9 z
) h4 F* k% w4 K/ F9 M& s) A
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
. b$ r9 R1 k1 k0 X
7 d/ R9 k' C, c6 E/ W: F$ Fturtles-own [a b c d k f g h. ]0 b5 E2 w1 t% }/ ?( f8 Z+ a, K
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 \2 {, {: q6 a/ @& r
]1 d6 S( `' i/ d7 B" ]6 ]  A! X
to new
/ a2 Y3 v$ n6 H2 ]: r  ca
7 a3 l! v5 M' l& j: P  crt 5 * num_of_building
; ?3 ?. f: k5 s# P/ K  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]], |/ i$ l6 G. W9 u5 |! a2 C3 ^9 l. D& @
  scatter     ;;keep center-turtle random positions ( D/ t4 l# }( u1 A
  unit_plan   ;;make up the building plan
8 {3 t$ w0 J, W# C5 vend
5 M/ d! j( d! S) xto scatter
& [5 D6 n. |6 aask turtles with [remainder who 5 = 0]! S! Q0 ^2 ]4 U) K/ s' N# h
[4 e$ `0 ^2 K6 x; b! V0 V4 H
set xcor xcor - 6 + random-float 15! O- B, Z/ Z; E$ |) q
set ycor ycor - 6 + random-float 156 y" _$ Z6 f7 q0 o* l( M& Z
]
% h1 U5 ]" @3 m3 V6 z9 cend6 ?6 B/ v) d. K: h& H% S
to unit_plan
9 I- a! Z. l( w9 @/ z3 |& |ask turtles [& N& a& c* P! z
if (remainder who 5 = 1) [set a who 2 l3 X3 l3 |) D+ g0 w
                          set x ( 0 - Wid / 2 ) % ]( P% |. {1 N
                          set y  Dep / 2 ]( r% k4 D+ g+ I! @7 A- E4 L
           set b  int (a / 5) * 5
, v: n: m) O9 ^5 r! M% g    setxy ( xcor-of turtle b + x )
, Y6 y3 q/ I. K( Z& [* w          ( ycor-of turtle b + y )3 N% d1 U. G$ r) F8 O! i2 W6 u: ~
if (remainder who 5 = 2) [set c who
: q; @7 l! x, w8 j                          set x ( 0 - Wid / 2 )
3 a  D5 e. `# W5 Z                          set y (0 - Dep / 2 )  ]
- ]' a6 n# F; d6 }' x                          set d int (c / 5) * 5
3 m; @' b9 E1 w, w  _$ x   setxy   ( xcor-of turtle d + x ). `! i4 g) X7 F, \& m
           (ycor-of turtle d + y ) * W* q# a- u3 }9 y1 l- n
          " _: }7 \4 t* H. [7 x. ]9 h
            * J9 X+ ], _" \" J" ^
if (remainder who 5 = 3) [set k who
9 p" Y. [, x1 O  {* T2 q% {                          set x( Wid / 2)  
  V# a# c, N5 d, p9 I* A                          set y (0 - Dep / 2 ) ]9 R/ {% S$ g: b1 g  q- w/ ~: l
                          set f int (k / 5) * 5
( J7 F# ~+ m/ O: v  setxy   ( xcor-of turtle f + x )
* {! m4 \( D* Y$ k# r           (ycor-of turtle f + y ) + C5 e- {: h) s! ~$ g! o/ X
           $ L/ M+ ]6 Y/ a8 R% V9 K
             a/ u9 J# r7 \
if (remainder who 5 = 4) [set g who
' W$ G! j+ G: J1 b) u                          set x Wid / 2 1 \, g; Q) u: g
                          set y  Dep / 2 ]- f. ^) Q3 A& `+ t
                          set h  int (g / 5) * 5
; h5 K! y! Q6 o, W" c( T( R$ a  setxy   ( xcor-of turtle h + x )8 M, T  l( x6 u; D% N
           (ycor-of turtle h + y )
3 h3 }9 O) Z8 R2 i  M" n# F                          " d& F2 d- d  |; u
                          , d( ?! l/ n4 A5 _& R1 @
                          ]
: t" i, A$ c4 B, a2 K: S: F, mend8 X" S6 n3 Q) b- E5 W7 Q

$ p: r6 `' {0 J0 q4 l' l[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,) `! B2 ?" ~- ]
应该是
1 m% O8 K) r5 q' I; n8 Fask turtles [
: Z4 Z6 `# ]% Hif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
5 L" v( U7 C: c3 e2 C# g                          set y  Dep / 2
' L7 D& C# i: L% E& ^; A1 W7 s5 H           set b  int (who / 5) * 59 g* s. z: S9 F7 p
    setxy ( xcor-of turtle b + x ); ?( H% l* |; k! H
          ( ycor-of turtle b + y )]]
1 N- }, R0 E- \* Mend- x. ^1 [. U+ T% ?, T# F; p! `
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-31 13:45 , Processed in 0.039217 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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