设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8282|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。% y; a! }& c* O: Q% T' j( j
$ S# s% M7 o. S8 s0 h5 ^1 P7 ~* k
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
: a4 W5 S! e8 Y1 I& E% |& B; H* d: Q4 d0 Y7 a1 U
turtles-own [a b c d k f g h
" T1 P- H' q3 i  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , c% o5 b5 _' t4 i; ]  F2 V& z) U1 G2 P
]
- p. N3 T1 S6 q6 N3 q- \to new6 y3 E& [+ W  {, Z, @1 q$ g
  ca- \( S4 \- m. t4 o. h& F
  crt 5 * num_of_building
# F1 p0 |) R) _1 }5 N- F, v  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
/ Y9 o" u9 I, _2 l& p' J  scatter     ;;keep center-turtle random positions & ~- g7 X7 l' f% s, u. G  R" g
  unit_plan   ;;make up the building plan
* t' S9 D* z: |. O' `. r  `end
( C; j/ x3 q/ P: p7 E, l& T6 rto scatter/ m6 r5 R) g. V( _. J& d, k
ask turtles with [remainder who 5 = 0]
  U  x4 j" s$ @  v5 d( |+ C[+ K# e- N3 s4 r' ~! k  s0 ]
set xcor xcor - 6 + random-float 15
+ v* a% K' @: k8 L- q) kset ycor ycor - 6 + random-float 15; b+ A4 n) {  o7 i: H+ U+ d
]
" g* O* |( p/ A' Y$ `% Uend' F6 h3 W$ \! J+ f
to unit_plan ! ~& e  B; [, |4 _3 o
ask turtles [8 @! u+ w% h8 P  }6 V* I9 ~  S
if (remainder who 5 = 1) [set a who
" k! E- r: H6 G7 Z' F2 t" {                          set x ( 0 - Wid / 2 ) 4 w% ?. y: u# x. \. L7 Q- H2 o& ]
                          set y  Dep / 2 ]0 n/ h/ z9 _3 e: t! @7 c
           set b  int (a / 5) * 5
! Y( x2 H( B& j& m% m. F# y9 V9 V    setxy ( xcor-of turtle b + x )
; D/ [5 ~& H! \% v7 X% c          ( ycor-of turtle b + y )$ I) j# c( W4 I
if (remainder who 5 = 2) [set c who
$ {% x# j/ m1 K; G                          set x ( 0 - Wid / 2 ) : J) j4 y: Y0 n9 l, k8 P4 v+ _
                          set y (0 - Dep / 2 )  ]7 ?1 h' Y9 a" M+ r# q* e- a
                          set d int (c / 5) * 5! t9 Q' o% R) l
   setxy   ( xcor-of turtle d + x )
" M- A, I: T( T$ a+ S& U6 Z9 C           (ycor-of turtle d + y ) % o+ c5 ?9 K$ k1 ^8 D' q- `
          2 V4 a( e' c5 x3 ~" v
            
- P! ]6 v. @# \$ ^. K  @if (remainder who 5 = 3) [set k who; Q! u9 R& f9 l7 j9 L0 w. d
                          set x( Wid / 2)  
5 M  @  D- r8 |& F3 D                          set y (0 - Dep / 2 ) ]
2 d! k# B2 ?! |                          set f int (k / 5) * 5
* V  Z! [% n6 V2 \7 N" K  setxy   ( xcor-of turtle f + x )
4 w" J( ^  f( }  @           (ycor-of turtle f + y )
& @; s% j6 L$ j# y           : r% F; |  L' U
           # r+ h9 o" Q, M7 K: }; j
if (remainder who 5 = 4) [set g who
, I2 R& m6 G1 T$ a3 o                          set x Wid / 2 % _& U) s. s: [! C
                          set y  Dep / 2 ]; Y' g# b# T) e- Z: p6 p, c0 e/ g$ r
                          set h  int (g / 5) * 5
/ @! m( Q! ~) p$ s; Z6 B  setxy   ( xcor-of turtle h + x )
: Z, B  R5 g8 f( r* ^. P. a( v8 T           (ycor-of turtle h + y ) ' u% x3 D4 z) j* J3 D( F
                          : _$ E# x; w" {  t5 q  ?
                          3 q+ D& f' _3 U( b: n& F
                          ]
# \5 ?4 L2 G, I& Oend
+ E: @& V- P: w
+ p1 B2 f% F4 d& a5 o  b; |' s: Q[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,; P5 D4 D& [4 Y# W  p5 X- }1 }2 l
应该是1 y( U# Z0 m* A
ask turtles [/ @3 D' e5 t" ~( X' _5 C* P" T8 E
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
" Y* `; T% E+ v$ e% S                          set y  Dep / 2 + G% ]# i4 p2 X
           set b  int (who / 5) * 5$ X0 k( \0 b# Y, z& m
    setxy ( xcor-of turtle b + x )
! j( K- b- D* i          ( ycor-of turtle b + y )]]
8 {7 A" L6 k" L: z- B+ ]end
' |. U9 g- l) _4 I* b! ^& c之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-30 04:05 , Processed in 0.013207 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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