设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7493|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
1 G2 j2 h( a: J( N: Z, E7 f0 K2 \& I( d& x& ?! j
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
9 y0 {# `  G( V  m* o$ e9 t' L: C5 W# a8 H0 [
turtles-own [a b c d k f g h5 A' s! q) w5 _0 ]% H7 p
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 8 G8 T( r6 u& U4 Y* g  r5 u
]( T' T4 E0 r. W
to new: G9 j* ~) z7 S
  ca" x& L  m6 O/ Z% C4 r- `
  crt 5 * num_of_building
9 U# h5 Q" ~3 j, E4 A7 k8 k  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 s% e! {, L$ U. e' {  scatter     ;;keep center-turtle random positions ) U6 f1 w3 `6 l( n" t
  unit_plan   ;;make up the building plan- `6 [$ u: Z7 U" l$ P
end
9 ~4 w+ U+ u1 a+ s6 M: b" jto scatter
) I) H5 D3 F( Z2 {ask turtles with [remainder who 5 = 0]
: n% G( m6 d+ O! n. F7 Q; q  b1 L[
# x. v/ B- K, b3 x3 D/ Oset xcor xcor - 6 + random-float 15# r2 e- @; t. E/ ?) f
set ycor ycor - 6 + random-float 15; }7 z# f# ~9 i, f( N
]
+ M, `! |& l) O% Q; [( jend3 Y2 I( j: o9 m& l1 s
to unit_plan
; h) x9 [6 Y) r$ l, {$ H4 nask turtles [/ ~- d+ D1 {4 N- F3 a
if (remainder who 5 = 1) [set a who
/ s+ z  [8 x* v2 w9 |6 h                          set x ( 0 - Wid / 2 )
) Y! R& u, [4 _+ y+ Y                          set y  Dep / 2 ]8 Z% l5 Y, [; u4 }* k2 z
           set b  int (a / 5) * 5  i3 t' v4 k1 M7 w
    setxy ( xcor-of turtle b + x )6 R- r2 O& ]9 X" d# \4 X. E) z
          ( ycor-of turtle b + y )" i9 v8 ], `( Y( K
if (remainder who 5 = 2) [set c who7 z( L- {# w# i" ]  M1 {, M
                          set x ( 0 - Wid / 2 ) 6 q; ~% \) G1 ^1 ?6 X
                          set y (0 - Dep / 2 )  ]
+ {4 W. U; o+ V9 s' Q& t& w                          set d int (c / 5) * 5
3 E2 m( r' l5 N: ?2 R   setxy   ( xcor-of turtle d + x )" s: N% e  y* N; c" }5 b* A
           (ycor-of turtle d + y )
! ^2 w9 e/ _- Z% w) @/ ~8 x         
4 a+ t* i; D# ?4 X" L            
' u; N1 Q2 i7 K/ W& W0 lif (remainder who 5 = 3) [set k who' a6 ?$ o, t7 @. Y% U
                          set x( Wid / 2)  ( o; n4 l/ k2 h
                          set y (0 - Dep / 2 ) ]. t1 _2 d' ~3 M- ^. a- i
                          set f int (k / 5) * 5
9 _" t9 P( e+ Z8 H  setxy   ( xcor-of turtle f + x )7 s! n- g4 s8 U: s6 Q0 ?
           (ycor-of turtle f + y ) - ^& t3 ~/ f7 v) b( Q
           " N+ x( P8 l. E" V0 {
           
. T) w% V: v5 fif (remainder who 5 = 4) [set g who3 I" k& \+ c/ h4 H, A5 b% b
                          set x Wid / 2
: `6 s. x1 e( X8 x8 L                          set y  Dep / 2 ]
, [2 z  l$ |8 \  u$ ^                          set h  int (g / 5) * 5
$ ]3 I* o. F( n  setxy   ( xcor-of turtle h + x )
: b& [& v. n# f% h: C8 |& t           (ycor-of turtle h + y )
5 h6 \( X. h( L* }4 K                          
* O/ q: L4 U) I9 ^                          
! f: _/ R. W% M  c) v                          ]6 q1 `; C- y0 U+ c! u
end
: K' C" @" F3 W2 l* x/ m. W" g' f; G3 E4 L5 |+ s2 K; U% D5 k
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' h" R. {* n6 J应该是
1 h" S  m& Z" g, S7 M! l1 e$ jask turtles [6 J6 i( o+ F% R
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) \1 r( j9 W* H: X4 d5 h9 |8 K
                          set y  Dep / 2
' }, o+ T( w$ G7 `7 |  P% V           set b  int (who / 5) * 5
! y. B- _. e; z/ C2 X9 {8 g1 X    setxy ( xcor-of turtle b + x )
  |) @3 s# |+ X: w          ( ycor-of turtle b + y )]]  o  q3 H& v2 [  e; ?1 H
end. J0 S" j4 m% K! `. b
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-18 00:03 , Processed in 0.016027 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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