设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8930|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- M2 L( x( C2 T1 g7 ^; P
' L$ U* i! @  ~8 d. n但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
! p) z: I2 v" W4 E. k# Z/ J- x5 P, b) g  U$ C, ?9 v1 Q
turtles-own [a b c d k f g h5 K0 v2 @* n, X; w
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 3 X( d0 S! g" ?2 I4 d1 o
]
& S9 G. W. X. x% F. G4 Ato new# x% E/ O# O: s  d+ c
  ca
( W; W2 d2 c: D3 X- o  ]  crt 5 * num_of_building: A5 z2 H2 ]6 g" _- E* K
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
, I* i8 t  X" ]' b  scatter     ;;keep center-turtle random positions
* [2 R+ Q& G3 a% w2 Q  unit_plan   ;;make up the building plan
( v2 N0 z7 H/ _1 O3 M# Q& |9 `& ]end2 H( a1 H1 H; D$ M
to scatter
  ?+ G& @1 T+ u- o! S! R0 H- cask turtles with [remainder who 5 = 0]3 U& U0 r3 }0 A; P$ J" U
[7 c4 ^# u, y# K: z# }2 d
set xcor xcor - 6 + random-float 15
4 o) W: Z0 ]1 ]2 C( Q- o. E7 w- Lset ycor ycor - 6 + random-float 15
  ~* s  \0 O  ?7 C6 o]% ], O: M. t& Z0 w
end. ~4 i5 r  k7 {  U0 y. P8 {! Y1 u
to unit_plan
4 W! c  {0 o( H. T1 pask turtles [4 D6 c) {( z7 F3 Y. I4 G
if (remainder who 5 = 1) [set a who
4 @# ~9 T" U/ F% d6 C                          set x ( 0 - Wid / 2 ) ' ?  n" u! ]5 q1 E7 H
                          set y  Dep / 2 ]* m/ G6 N" A6 N4 @
           set b  int (a / 5) * 5
  P* b" m$ ]- ^! a) H$ D+ p( ?( P    setxy ( xcor-of turtle b + x )
% J; ]- G% x" J          ( ycor-of turtle b + y )
: ^0 t7 }) s. sif (remainder who 5 = 2) [set c who
; l+ E. O- W" t. Q- w                          set x ( 0 - Wid / 2 ) . j- w7 M" \. @8 Y& _: V
                          set y (0 - Dep / 2 )  ]
# ~* N% H0 ~! V) N3 P: I                          set d int (c / 5) * 5
3 J& l' G4 H1 h; c   setxy   ( xcor-of turtle d + x )
$ W: B+ S, D7 _& z6 |. S, |           (ycor-of turtle d + y ) # |+ @0 i% L# U1 ?, L
         
$ _  V; v* w& l, @            
2 |' Y9 ?# E) v% R9 g( t+ X. n. |- Z- Bif (remainder who 5 = 3) [set k who
# d5 s& m! E3 ]$ x  P9 r! Z                          set x( Wid / 2)  
& J5 F+ A' l& H                          set y (0 - Dep / 2 ) ]% u' m6 j' W' H! @$ D( _0 `" D' ]
                          set f int (k / 5) * 5
  T" v; [1 I/ T. z* X  setxy   ( xcor-of turtle f + x )! ^8 q5 N+ X: ~! x- c& v
           (ycor-of turtle f + y )   F& l+ [, H. Z( l; X
           # ^; C( K8 q. m! N) u" T) ^4 g
           
, \8 ]8 W# q* K6 H2 j3 i. S7 fif (remainder who 5 = 4) [set g who$ L9 |: u# v# Y) O
                          set x Wid / 2
! t. \' X$ s# W" m5 u7 H                          set y  Dep / 2 ]
6 R0 `8 R" W# n: {3 d                          set h  int (g / 5) * 5. k7 Z; L1 o* u4 w0 A( b
  setxy   ( xcor-of turtle h + x )
9 M8 K7 V* }9 B1 B. r& @           (ycor-of turtle h + y )
" {+ D* b2 s3 f% q2 ]                            B# B5 a4 f. G$ Y1 r5 B2 W
                          5 M5 _4 ?, _( q' S( l' q6 K. D
                          ]0 S  b. ^/ a& `
end
4 f' E( ]5 }# Y" a- s! N; V8 s0 c' v$ W* Y, b; {$ I" S
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,7 l9 i5 _6 r% O. S6 M8 K. R
应该是5 q! f3 k' g8 |  F2 m$ q; @4 R
ask turtles [* z5 _, x" A" [! Z; v+ d
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) + m6 A7 n2 ]6 [, A. b+ Q8 T
                          set y  Dep / 2 2 |3 ]% ^4 L- y' d" Q& S# Z
           set b  int (who / 5) * 5
5 k1 n; i7 t) G: J+ \' D& q1 {    setxy ( xcor-of turtle b + x )) a( |9 w, q* E% Z! d
          ( ycor-of turtle b + y )]]
4 P& ?, z+ w3 s; v8 @5 K  \5 jend
, S5 [- M9 `. s0 u: A3 a之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-25 20:25 , Processed in 0.015744 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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