设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8226|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
; \1 N& Q$ K  o% d1 k& G
2 s1 e$ U, B! ^, K* r8 F( A但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
9 W7 y# Y* I. c$ N; b4 ?7 \- d3 Y! E
turtles-own [a b c d k f g h# J. o1 Z2 b: }  |9 E& w% m
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , B4 t: `+ \0 b' z, ]0 Z" l
]: F9 }+ r: S4 H* h2 b& M
to new4 U" _/ I: j' Y
  ca
% U9 P. W* s! ^7 n9 ]1 i: U' W% d  crt 5 * num_of_building
. s2 R7 ~% V  t  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]3 ?* a8 @! x; Q1 h8 }* M3 L
  scatter     ;;keep center-turtle random positions $ h. G+ Z) m2 u0 t, x
  unit_plan   ;;make up the building plan: E+ V$ Z$ j9 X, y" R6 [
end
. M6 O+ B5 c( }to scatter
8 U( M* g  Y7 x! task turtles with [remainder who 5 = 0]8 V0 I3 Q" v3 C# @
[
5 U7 a6 ~$ c' E9 Sset xcor xcor - 6 + random-float 15
; I# X. d- v) L! v% u8 C. qset ycor ycor - 6 + random-float 15# B+ i+ J' J7 S6 ^5 }
]
' L6 F& I4 e% b1 |* Qend+ p: R0 G& i" C  M6 ?
to unit_plan
+ H0 N: h5 ^% l' Zask turtles [
8 q3 g" n; P4 ?& T, yif (remainder who 5 = 1) [set a who
" R# X1 o7 Q( c3 f+ q9 g                          set x ( 0 - Wid / 2 )   Y, `* k* `4 f: J4 }
                          set y  Dep / 2 ]
. G9 r& Y8 h; O7 v. f* @- I( y7 ^           set b  int (a / 5) * 5
* q- t3 j+ D( Q% ?0 u    setxy ( xcor-of turtle b + x )
) {" X5 o5 h7 E/ a. R          ( ycor-of turtle b + y )
9 @* {, I* J/ ]5 t  M8 ]) Eif (remainder who 5 = 2) [set c who" X7 Z  C) s' o$ j
                          set x ( 0 - Wid / 2 ) / ?# \6 Y+ q' H7 z0 M2 i# Z3 N: R
                          set y (0 - Dep / 2 )  ]( @6 [3 a! Y- `( Y
                          set d int (c / 5) * 53 {" g# n3 I$ G3 E
   setxy   ( xcor-of turtle d + x )
& P% f  N+ u+ E2 i) m4 K; ^, g           (ycor-of turtle d + y )
$ v8 W5 a7 {: C* j4 d         
5 ~' C# j  E) c- n2 I+ z$ z            $ n/ D. P" b# l5 N
if (remainder who 5 = 3) [set k who. X; d8 k0 }' L; e: \# l/ E6 o
                          set x( Wid / 2)  
! s# X. f! @9 y: D$ ~8 P                          set y (0 - Dep / 2 ) ]3 _% m  z/ H& K
                          set f int (k / 5) * 57 ?9 s) y, |: l' J' h: H
  setxy   ( xcor-of turtle f + x )
9 ?' U. B5 E' {" a1 O4 V; j           (ycor-of turtle f + y ) / w9 T8 V6 N0 U% m/ M7 T
           ' y5 o$ F4 g. x+ N: h! p2 ~1 ^; a
           / y7 ]4 x/ b" H  q& j) o
if (remainder who 5 = 4) [set g who
& Q$ o* z+ l# i/ W1 [6 n5 [                          set x Wid / 2
+ D3 Q8 F& _" `6 m                          set y  Dep / 2 ], w* U% h) A6 X9 l  z7 R
                          set h  int (g / 5) * 5- [, g; G9 M( |$ ~( F3 k8 {
  setxy   ( xcor-of turtle h + x )4 {; V! @. H0 F* p- Q. R+ \
           (ycor-of turtle h + y ) ' I/ F" V/ I: e
                          
% q: w1 f# C0 s/ ]                          / W" H5 [+ ]# g6 d7 d3 {
                          ]
& V& O& z) v! Q6 W& z. L2 Zend  m5 E: l' [  A
* U  {: S3 a) ^" Y" t6 u5 w0 H
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,* v$ a8 y* b+ e( M8 J" b7 y
应该是
  H0 |$ y1 o: c! T# ^ask turtles [' J( F" t" w# }1 w
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 9 h5 d) }$ c; G6 M9 ^' T- _
                          set y  Dep / 2 ( y$ s  e9 f$ l+ J' q. I
           set b  int (who / 5) * 59 o$ ^) e5 l  ?* F' g
    setxy ( xcor-of turtle b + x )
+ t* e8 B2 ~& V( B7 v5 i          ( ycor-of turtle b + y )]]
, D: l4 q; K# L" b  Hend
; \: B* y2 L$ u/ K& n1 L# t之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-21 07:33 , Processed in 0.023158 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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