设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8465|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。- L# _9 M0 v+ |- _( E3 A% t5 p

: Q/ j( s& v+ S; [但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
' j' f3 |- D5 u* e- R& w/ h
: a& o# i' m: C+ F3 Fturtles-own [a b c d k f g h* V$ U. c1 _/ d, r3 \
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 5 I# I/ w- `" a" k; ~. a" ~& W
]7 {  N7 E1 ^% n- Y9 `% P4 f
to new& B% s. s( e6 A
  ca
% K" E8 I, l" b  crt 5 * num_of_building' |% X. G- H; h+ ~! j( K
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]% U9 _$ E5 a9 u- |% u
  scatter     ;;keep center-turtle random positions
; l  y$ g/ x6 c7 J! v' X' f" m  unit_plan   ;;make up the building plan. U+ p" @# M) Y2 h# C
end
" _3 Y5 u' T. Z7 f$ `/ x3 K) Nto scatter
- l, \  B3 P1 [" F8 L8 X. w) Yask turtles with [remainder who 5 = 0]
+ k3 F0 F$ H8 z% h" H( f[
( i1 a2 X0 l; }4 V* Bset xcor xcor - 6 + random-float 15
* G% ?0 H$ j$ ?6 C6 |9 V% ?4 ]set ycor ycor - 6 + random-float 157 K9 \6 {6 @2 _3 E5 l# o
]
; e8 C* c) j) Z5 y" _end4 W% r6 ^8 j! B0 Z2 H/ Q
to unit_plan
1 x# z9 V+ C! l3 `0 x' \2 ^ask turtles [
- m5 z6 T& p6 Q! {if (remainder who 5 = 1) [set a who + U; {: D& O6 @- c
                          set x ( 0 - Wid / 2 )
: H( k- P) h( [& l/ s                          set y  Dep / 2 ]
1 C# |: \2 T( H) i           set b  int (a / 5) * 5
* a' O. @& z; z7 k    setxy ( xcor-of turtle b + x ): o+ ?( D* ?5 N( z! K
          ( ycor-of turtle b + y )" S+ a& S7 S( w' h. R5 s* b% m- ]5 W
if (remainder who 5 = 2) [set c who
  J% R+ u) N) h                          set x ( 0 - Wid / 2 ) ; R- \; O5 P, g/ C& a
                          set y (0 - Dep / 2 )  ]
) ~( @! Q( M5 w) ]4 Z  R( ^) C                          set d int (c / 5) * 5
- p, l( L5 f/ r6 T; _3 b) _   setxy   ( xcor-of turtle d + x )* R+ a+ j) f2 n' L
           (ycor-of turtle d + y ) " y+ i8 `( o0 ]/ n8 y& {
          9 A  s. u  J. ~4 j9 R1 r/ D
            
0 D7 g3 O& [0 ]if (remainder who 5 = 3) [set k who. H+ `. ]& n$ J4 _$ o/ }/ f! x/ Y
                          set x( Wid / 2)  ) m; U7 e+ H' ]6 }' @, ~7 C* c( N5 V
                          set y (0 - Dep / 2 ) ]
2 Z. z  P# \2 L. q7 K6 k7 F5 g( X                          set f int (k / 5) * 5
2 S$ U3 @5 `" g- A# i9 ?# h# a  setxy   ( xcor-of turtle f + x )
- Z6 H3 e2 Q* M6 M           (ycor-of turtle f + y )
9 M  h- X" e+ x: T) M! M  |           
  z0 y- j2 o2 y0 l4 J; e6 h           ( ?7 i! ~1 g  }  ]. H. X$ G
if (remainder who 5 = 4) [set g who
) I, ]/ K1 g7 f+ o' V- N  L                          set x Wid / 2 # P1 ], B. o$ H7 u
                          set y  Dep / 2 ]
3 Z5 m6 a: X8 _: x# |1 x                          set h  int (g / 5) * 5
* Q1 P( Q8 q/ l, k8 P$ H$ }; L- f  p  setxy   ( xcor-of turtle h + x )
: t1 z6 d0 P) g4 W           (ycor-of turtle h + y ) 7 j$ E  B4 P/ a; C4 I; a
                          # d6 [, @; M  }! y$ _3 c: q
                          
" Z+ M0 Z6 v& P( {# B                          ]* O+ p; q4 d9 Q; [4 q* Y% \
end
0 \6 S$ ^  v  z' L* L
$ S6 K" y  P8 ^[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,7 `' @( s  I* d* p6 G
应该是# d: @& Z! C0 l, N" P7 ]
ask turtles [; [6 D+ h  a; c( s0 Q
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
9 i* K, t% d4 i6 d1 s                          set y  Dep / 2 2 J( [7 n( w) Y. O5 h
           set b  int (who / 5) * 5
2 k; C' h0 g) X5 ^    setxy ( xcor-of turtle b + x )
7 m. m1 G6 q/ M+ ]$ Y* J8 S; G          ( ycor-of turtle b + y )]]
6 Z" k# D- s$ U, u, b1 Aend( x% n$ q; ^, B. J5 D6 M
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-30 01:05 , Processed in 0.016430 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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