设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6325|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
: _8 [. ]! J/ }1 x, H' u) t! y, Z
- a$ |) ^- v4 M0 b但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。7 V& g5 C2 U* ^5 p

' {' Y. K) U  r# {/ ?9 ?turtles-own [a b c d k f g h
, |" H$ M6 N- h- n8 j% N* l  x y     ;; these are the leaf-turtle's offsets relative to center-turtle & \7 W& E9 Y- @( `8 C! {5 I& Y
]0 Q% C# i, s) ?# E
to new) O1 w8 Y% G- ?0 ]
  ca( u- V' b9 S* k. P" B
  crt 5 * num_of_building3 O2 ]& }  G, K- `2 H- [1 b2 _0 F
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 |( [/ g1 k: {" X8 `! I  scatter     ;;keep center-turtle random positions
$ z1 n/ l/ g% y! h0 N" m! A, W  unit_plan   ;;make up the building plan
  n" ~. s/ F5 t4 Nend' [" ^, i- @( t3 e' ~7 k' s
to scatter
- n# X5 e+ [1 Q- P: ~; E" X0 }ask turtles with [remainder who 5 = 0]
5 t$ B! I. x- |0 e; O[/ |, I0 I, H% V1 h; I4 P0 s3 `
set xcor xcor - 6 + random-float 150 H8 }8 _' W0 C$ N/ k" c
set ycor ycor - 6 + random-float 15
; a$ f( ~* l# m2 c0 Y]
8 L" d& G, V+ ~$ y; z8 h4 o5 fend
/ R  ?4 L# I* ato unit_plan
' r& D9 ^' }% E, Aask turtles [/ l" S$ B- d3 G* D1 C( ]
if (remainder who 5 = 1) [set a who 9 u" w4 a# J1 O' B
                          set x ( 0 - Wid / 2 )
4 G/ V) u/ U( k4 ]4 h" b# l  P3 H                          set y  Dep / 2 ]
. f( ^& \$ ]4 n* }           set b  int (a / 5) * 58 Y: h1 Y: V) L* h$ P# ?
    setxy ( xcor-of turtle b + x )
% Z& |( Y0 [1 z+ ]0 U4 g          ( ycor-of turtle b + y )
0 b$ \# [6 |& ]! V2 T$ J% ]" H$ {# q& ~9 uif (remainder who 5 = 2) [set c who
( x3 g( l1 O: a0 Q: e" X                          set x ( 0 - Wid / 2 ) + D# p; M/ U$ x$ p
                          set y (0 - Dep / 2 )  ]8 O" G- z" a$ X- j; v+ o
                          set d int (c / 5) * 5
% M" p) a* O" z7 i% [7 I   setxy   ( xcor-of turtle d + x )# r6 }8 Q, Q0 K4 T1 {, a3 \/ N
           (ycor-of turtle d + y )
8 w4 \- g+ Z# ?" f; V- k! n4 m' z          3 R$ h% ]% H0 A- o+ l" @
            
7 {. W9 Z# s4 }* |+ jif (remainder who 5 = 3) [set k who5 _2 s. v0 j& g' b. w: X
                          set x( Wid / 2)  " |# }* E/ l; p3 W
                          set y (0 - Dep / 2 ) ]9 j( V2 w& Z! Y. J0 k; F
                          set f int (k / 5) * 5) F1 I  l$ C( W  I
  setxy   ( xcor-of turtle f + x )) E: P6 l- B9 M. o3 l: {
           (ycor-of turtle f + y )
6 G+ r  x  Q, u* {           
! x& G3 T# O% U: a& J           
; n. g9 @. F4 H% Eif (remainder who 5 = 4) [set g who
" f8 _" D9 l; C  y' f                          set x Wid / 2 3 D! T8 ^" i7 C5 D2 l. i
                          set y  Dep / 2 ]& \+ v( F& S# q4 ^) }4 q
                          set h  int (g / 5) * 5
) }! f* J/ ?0 |  [( |% L0 o  setxy   ( xcor-of turtle h + x )
2 B; Z+ q  ~: n3 x0 ^9 {           (ycor-of turtle h + y ) / H# F) z' V+ i* @; |
                          
9 D' `# B" A- y0 f* G; G, E) [                          2 K& X" N, r  p! m& T2 F! V7 G
                          ]8 P3 X) |/ Y) H' b) a- b$ w' f* N  N7 t
end! g. s5 g" H; E: h& k+ D! r5 g

; f1 S, }; L) m& A3 O5 r8 Q[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
  A2 }5 e2 [( b8 r) ^6 y$ f) J应该是  _& K0 g6 ]- {
ask turtles [7 e0 C/ u. @) m9 o' x9 J1 k# X
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) m2 w. u" G# W4 C' ^
                          set y  Dep / 2
) \6 w+ e) G# x+ T) M% K           set b  int (who / 5) * 53 C7 l  A1 O% f, \% i3 c/ M7 L0 l
    setxy ( xcor-of turtle b + x )5 s' _5 l! k. c0 V
          ( ycor-of turtle b + y )]]5 h4 k1 T$ N: s; N
end' ]) M9 _4 M% b6 x( C
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-14 05:27 , Processed in 0.013560 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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