设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8823|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。" P7 _. o' V3 W9 q! `

! r- y4 e% V7 @& {$ h但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
" O; ]: X- g7 K8 V1 E6 w, a/ W# ~9 n
9 g7 ~; b$ Z1 P" n& a$ |turtles-own [a b c d k f g h1 ]2 f1 n; H3 Q' V
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle + D, P. s/ H: Y6 J5 U4 L8 o
]! ~0 C) I6 S, Z
to new: [+ p, X9 n+ _4 U3 F
  ca
) P& X* `5 x: D0 e" C0 O5 b5 [+ |* |  crt 5 * num_of_building& \7 |# g4 A7 z" W  C
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]  w6 I" ^2 z) R) M' v
  scatter     ;;keep center-turtle random positions   J+ M/ k  J9 y
  unit_plan   ;;make up the building plan$ Q4 e0 W0 i) K1 ?  O6 [
end. U  x$ O+ F+ z3 Y, H# Y7 K
to scatter, f2 l" E8 F4 W0 y* J% U
ask turtles with [remainder who 5 = 0]
0 e6 i$ D" Q* h% e[
4 S8 q2 f# r( U& g- q# H- Lset xcor xcor - 6 + random-float 158 j4 ]9 X# D$ o! ]& o
set ycor ycor - 6 + random-float 15, B7 Y( Y+ J3 B2 G6 H
]" Q$ l$ f( B+ D" n( A- m4 T
end
0 `- t0 s, l( Vto unit_plan
* L  g1 M. Y* k$ hask turtles [. _% i6 a0 E* J5 V* S; z
if (remainder who 5 = 1) [set a who
# H* U! t4 w5 P4 t8 }: o, p                          set x ( 0 - Wid / 2 )
- v" v) v1 i3 ~2 u* I) a                          set y  Dep / 2 ]* S, Q' i% m9 W8 I" f3 T9 B9 P/ G5 p
           set b  int (a / 5) * 5+ T; s1 V+ A4 r" i$ b
    setxy ( xcor-of turtle b + x )
7 g1 ~7 B1 [4 q. X7 j          ( ycor-of turtle b + y )) R: L, f2 ]) N8 q! y" @
if (remainder who 5 = 2) [set c who
5 m: S- O: t2 C+ t+ }) H- p                          set x ( 0 - Wid / 2 )
. S9 d7 p. R# p1 z: U" F" K                          set y (0 - Dep / 2 )  ]
& s2 f% E2 l1 s# ?! c, \                          set d int (c / 5) * 5
) u- F& V7 g/ H" \3 i& h# H   setxy   ( xcor-of turtle d + x )
# B& N. ^" A7 K. m& @! r) m           (ycor-of turtle d + y ) + H8 N6 a; y' N+ Q" _* X
          3 q: h" V% R0 h+ N
            ( J) ^( K" `- v- d- I* T
if (remainder who 5 = 3) [set k who: @# E' `) a" G, b6 P  K% X9 F+ N
                          set x( Wid / 2)    a$ H5 n# t& N: c2 p, n3 u8 p
                          set y (0 - Dep / 2 ) ]. A5 W0 I5 h4 n! D2 G, T$ S" N
                          set f int (k / 5) * 5
( q5 b# j( U9 P7 H; n* X  setxy   ( xcor-of turtle f + x )( `1 k1 o4 z. b3 n0 ^6 M+ i
           (ycor-of turtle f + y ) / Q; Z0 b% |: G- v  t9 C8 m3 W
           
& P2 C( T! U* x4 k# l) J1 R           ! `7 A0 ?0 n" E' b
if (remainder who 5 = 4) [set g who' a( {* N: a. s4 a: m& a$ B4 t
                          set x Wid / 2 ; c4 Z; S  y5 ^9 p% J
                          set y  Dep / 2 ]5 a* s: }$ ]# [% g
                          set h  int (g / 5) * 5
+ P0 F) a8 M: Q' N  setxy   ( xcor-of turtle h + x )( s. P: |1 ?1 s% E: L
           (ycor-of turtle h + y ) - L3 {0 B  r8 x- J4 ~6 V
                          
0 {; p2 S' x3 y9 u! [# j' r( F1 s1 o" w                          
6 |' P  C$ t2 p* ~( Q                          ]
/ t( y0 r: l9 l. B2 zend; ~2 X* o4 G6 n( p4 g: D# Z# m

' I7 A3 D' P! t) ]$ \[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
# i& d4 J  a) \( r& F应该是! t" A$ R* H; k& G+ z6 m
ask turtles [7 h0 @3 g/ N) _+ S: J
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
5 }* E  o; M  L7 z9 N6 s; m& f                          set y  Dep / 2
. m# g0 V  R- @/ \2 l+ z& n           set b  int (who / 5) * 5; r" w' |5 }; c3 d2 k$ N1 X. C
    setxy ( xcor-of turtle b + x )7 H$ ^8 P! D( v% w" Y; z7 q
          ( ycor-of turtle b + y )]]5 N$ {) ]& d6 N% A2 F6 R( ?
end0 X" Y2 L9 E6 N1 n: m
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-8 07:38 , Processed in 0.018706 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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