设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8397|回复: 1

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

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

  C/ P8 P" W; [, ]5 U6 S+ f但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
3 A: h% p) ?1 E6 v  [$ v
$ n3 s: q# ~' Zturtles-own [a b c d k f g h+ C' K4 \3 F4 `) ?$ Z$ F& O- i
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) T" ~* E& T' }
]8 C# l; N0 ^& `, `( V
to new3 O: I8 x. o3 z) ~! l0 Q6 `
  ca0 Z& {, S$ E& j% g  o, E, g
  crt 5 * num_of_building. K4 u9 c- ~2 B. T: S# e( X4 s- N7 s
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
7 c1 P' {' z  z  scatter     ;;keep center-turtle random positions
' s/ D. c' |( s3 C4 ~  unit_plan   ;;make up the building plan
# S# B: T/ ~( ~$ v: [end1 ?2 o9 ]( d* O: R
to scatter
' J3 J1 s/ b. ]ask turtles with [remainder who 5 = 0]* l8 D5 X* a* w/ N# i+ ~
[
# y, L' A7 z) b; d/ l; xset xcor xcor - 6 + random-float 152 e) ^' O. u' k, R
set ycor ycor - 6 + random-float 154 {8 K) r+ r$ H5 n7 h1 p" _! ]
]
: W. R) \% E, r4 N( w- V, d% uend! H' c( ~: Z* l/ H0 y1 [4 H
to unit_plan / @1 V/ C. e" v. I& C
ask turtles [
7 a  C! _6 k7 S% V. J) l* p) d  X7 P, Gif (remainder who 5 = 1) [set a who
0 W, L0 B" `$ p2 D6 X1 n                          set x ( 0 - Wid / 2 )
# {. D8 v8 B/ y3 y0 T0 x0 C! G                          set y  Dep / 2 ]1 A; ^$ d0 Y2 p3 w9 [6 `
           set b  int (a / 5) * 5
' ^/ e: N2 L* l& g    setxy ( xcor-of turtle b + x )
4 ^+ T. h7 w: H4 K% T" @          ( ycor-of turtle b + y )0 v3 Y. c1 W7 i% d: \$ C
if (remainder who 5 = 2) [set c who
* n& j7 z( |" U: L1 u                          set x ( 0 - Wid / 2 )
4 @2 J+ w% m" L, t9 D+ L' M                          set y (0 - Dep / 2 )  ]2 B7 S5 [- \; y) u, p4 W' G
                          set d int (c / 5) * 5" R& E' F3 B/ Z2 t
   setxy   ( xcor-of turtle d + x ); H5 o" O7 ~1 B( y9 @" y
           (ycor-of turtle d + y ) ( X& C1 a: S! q6 R/ m% P" ]  y
         
) k" F, `7 |  R. ]  q            
/ Q3 e) u' {- x; q8 _if (remainder who 5 = 3) [set k who+ V: |/ s) V& i/ Q
                          set x( Wid / 2)  1 f6 ]3 i3 H) ~
                          set y (0 - Dep / 2 ) ]
. P4 o' X. W' L4 f                          set f int (k / 5) * 5" q/ z# x6 B/ w8 S
  setxy   ( xcor-of turtle f + x )( t# Y. e1 ?! L2 i9 y2 x+ h" i" k3 Q# t
           (ycor-of turtle f + y )
4 k9 J. _# v! s) \' C) ?           : F8 p6 h& U. [6 A3 `8 b
           " |7 S" s: Q" T- F7 }; c
if (remainder who 5 = 4) [set g who& w  c6 q9 E* o# B- d: D
                          set x Wid / 2
9 S1 d- [3 O8 l1 O" m                          set y  Dep / 2 ]4 Z7 J* E# I' w% }0 Q1 z
                          set h  int (g / 5) * 5% L, ]' O6 G8 j3 m
  setxy   ( xcor-of turtle h + x )
% ?% e9 T) a+ T& N1 H8 G6 d# R$ K           (ycor-of turtle h + y ) " \2 C9 k; ]6 T: G0 j/ m( p# \
                          # m9 Y; [6 J1 J- l& t0 V  ~* j. r3 }
                          
+ O" w/ R) A! v0 w                          ]
/ q7 Z* e! ]+ j- g& Oend3 F) v/ G: e7 g- Y' R0 K( W

9 K  i: v9 A, G% u7 b% |( h  `0 T! L[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,, k% R1 m, T, N( p
应该是3 s1 N2 N! |& D# z) u, C( _
ask turtles [& m, \2 u) X& G% M
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ! N2 g( N/ _4 X! `
                          set y  Dep / 2 # S0 f7 N9 k+ X) R% i8 o( I7 A8 X
           set b  int (who / 5) * 5
  b3 |- W' \; o2 l3 J    setxy ( xcor-of turtle b + x )8 I  K  i* z/ n6 U9 Q
          ( ycor-of turtle b + y )]]
: P0 {# I& Y) K9 {+ Lend
$ H/ I2 A" Y' t+ ^4 N之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-19 12:04 , Processed in 0.015790 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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