设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7146|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。/ V: G; v  U5 I# A+ K

  G* K8 J1 \8 r0 q5 h- V( \但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。* Q: j% a" [8 O2 t) n. A
! l8 z/ K5 l) Q2 L6 g4 T5 S
turtles-own [a b c d k f g h4 ?4 w5 V) O8 |  M# y
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; T6 e* a0 ^- d7 ]5 ?6 f]6 n( n. k+ C4 V* \
to new
/ A- W# ^2 V8 p6 j  ca
3 Q0 r3 F0 `, y3 c  crt 5 * num_of_building
  q4 K* J4 s1 w1 w  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]3 ~) L. l$ `) d0 w
  scatter     ;;keep center-turtle random positions
  k. I, `5 l& T# x" N  unit_plan   ;;make up the building plan
0 m5 X' t7 M" n) o- w# J1 _end9 t9 o" D0 ~9 p, Z, i7 Y- `
to scatter3 {6 ]: c. }! h! p( `  O" S
ask turtles with [remainder who 5 = 0]+ e  i6 j+ H; {/ z$ B4 x
[
1 Y& K( }9 g7 I/ d- D) h4 zset xcor xcor - 6 + random-float 158 A( K! C( E* U/ z3 W
set ycor ycor - 6 + random-float 15; ^, [7 l4 y2 b5 e  n1 D  v
]
$ y3 m! K0 p& V( o8 qend
. o- ~0 I% v( K/ W0 p. D/ J0 c% p, X' Eto unit_plan & Z6 W, C  O# e$ F
ask turtles [
8 }3 ?6 c$ v2 o; @% m% fif (remainder who 5 = 1) [set a who
& b8 H- T% D. j& d) ~                          set x ( 0 - Wid / 2 ) ( d& D7 O' f* W/ ?! N
                          set y  Dep / 2 ]3 g+ f: G# Q8 d7 _2 G! X( W; _6 M
           set b  int (a / 5) * 5; i9 Z  X7 F* f% x1 `  n( Q
    setxy ( xcor-of turtle b + x )
5 y/ T, h: q  M) ]) b          ( ycor-of turtle b + y )
5 s( j  _# C8 L* ~! {' Q5 bif (remainder who 5 = 2) [set c who/ ]3 F4 ^* j: ?* O9 F3 U/ s- b9 ]4 G
                          set x ( 0 - Wid / 2 )
: W% ^+ G3 F9 F) d                          set y (0 - Dep / 2 )  ]
: \& @2 A  y: Y0 S* F8 c                          set d int (c / 5) * 5
7 ?% c2 g) j/ B' K; y" Z& s9 a# R   setxy   ( xcor-of turtle d + x )
$ ]- i9 Y: `7 x4 M1 B" W" ~           (ycor-of turtle d + y ) + I3 ?/ M3 y+ J" ?
          2 |) a1 {7 i' k9 L( B9 J
            / J5 K: d' E! a4 l! D+ l7 `5 _
if (remainder who 5 = 3) [set k who
0 \/ l- d) }- Y( j5 G                          set x( Wid / 2)  ) g' {; P& r% g# x# ?* Z
                          set y (0 - Dep / 2 ) ]" p+ f" j; O2 s5 G( n. _% D- A
                          set f int (k / 5) * 5
0 P1 r3 J' I0 b: i& }+ j6 N) s  setxy   ( xcor-of turtle f + x )
& G# i, g! i! D9 q7 \           (ycor-of turtle f + y ) ! C4 x9 c" x9 @, Z' L
           / V$ ~: v. _7 a% u. }; `
           
) I" }' C8 l! A5 E$ Tif (remainder who 5 = 4) [set g who
# l) F" r" w$ H$ _                          set x Wid / 2
/ _& n: D- U6 r2 C" M                          set y  Dep / 2 ]
! {" {, e9 G+ @! s$ B$ Z1 J2 S% A                          set h  int (g / 5) * 5
9 N' ~* A5 v/ Q7 p5 D+ u; V  setxy   ( xcor-of turtle h + x )
; H0 o6 `# e4 J           (ycor-of turtle h + y )
8 E4 b& J: l0 U* F# {# `3 ?( K5 K* t                          9 h$ ^3 ^; H5 u: o8 ?5 M
                          
. S: d5 P& n7 Q( S8 a0 z8 ]* O                          ]  l9 q" E. j7 D5 b
end
8 Y$ O# t6 ?+ O) ~" v
, ?% n& ^# A4 M  U( ^. l[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
$ s7 `7 [5 {2 ]* ^# I应该是% i! o6 X8 ^& Y' n" X% ?; [
ask turtles [! `) U7 C, b' l$ S
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) . s. K- u+ y$ p2 M  q" J9 [4 E! b- v( h
                          set y  Dep / 2
/ a% G! V$ p, W; Q: T( w           set b  int (who / 5) * 5  q) e- ^8 r: g( N7 f- T
    setxy ( xcor-of turtle b + x )
; i2 t0 b$ }6 Y) e9 \: b# Q7 J) x6 _          ( ycor-of turtle b + y )]]
* Y5 j1 U4 o6 g5 Y. h9 Fend' J# e& F( s: P% V3 p2 V  Z
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-5 16:36 , Processed in 0.018650 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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