设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7747|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- C$ ]9 C' M* `- x/ n
- \3 W' O1 l6 g  ^2 z6 P( U但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
8 @* V' C$ f- q: s8 r+ }( Q  z
- N6 S8 J  j3 K$ M7 N& S$ ^turtles-own [a b c d k f g h, Z  q0 O3 o; @$ G# v3 c  u% U
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; N& m" {3 f& t; f( {  i]/ p2 N3 U8 Y: O$ S6 D
to new7 T) s) U6 ^% I8 u8 R
  ca
! m6 m7 \4 U2 k  crt 5 * num_of_building
6 ]/ x$ K+ u: N# f. p. x  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
3 C1 y' q4 i+ b  scatter     ;;keep center-turtle random positions " ~, g/ l! @% n+ J" |" w$ l( _# C
  unit_plan   ;;make up the building plan
8 P; Q- F+ O3 |5 l* Kend" t9 {2 V, X8 p1 E2 i
to scatter
8 ?" F% L- a7 l8 k8 S' Task turtles with [remainder who 5 = 0]
& d1 D- V( K. x; b! v[
  `* \5 s; Y0 S+ E2 `set xcor xcor - 6 + random-float 15
. P+ R1 k- e5 D- P( V+ u/ qset ycor ycor - 6 + random-float 15
$ J5 \# \/ e' p) `/ g]& S% x8 p' `, D& o% v/ S
end* S4 Q+ L& T% v- o6 o
to unit_plan
: F4 |3 N, x! \" M- k. qask turtles [1 L2 o9 W, k# W7 @! h8 n3 D( E
if (remainder who 5 = 1) [set a who   F) B0 o2 \9 W7 c% _
                          set x ( 0 - Wid / 2 ) 1 M9 v0 F' ^& K; n6 G6 N1 A
                          set y  Dep / 2 ]
5 X, ^2 X; v$ |, J           set b  int (a / 5) * 5
- X5 }5 _  J- {. `& C' k    setxy ( xcor-of turtle b + x )
: h( u- g2 p! a  g" B0 t/ R          ( ycor-of turtle b + y ), ]% p& M* H7 }& B8 [* u: s' q
if (remainder who 5 = 2) [set c who2 ^# p" ]! W0 i4 i/ U4 r
                          set x ( 0 - Wid / 2 )
' R0 H! r* J# |                          set y (0 - Dep / 2 )  ]
5 s  q8 B* h/ ?: p, Q, \3 `                          set d int (c / 5) * 50 j  B. i! y1 c/ |& O' ^- }) N
   setxy   ( xcor-of turtle d + x )
# I) H+ V! F* C, W7 W+ l           (ycor-of turtle d + y ) 4 l( ^( \3 G( b. D& L5 o
          % Z2 g* o2 P8 K3 g9 h; |: Z( ^' o: B
            3 A: O( ^8 P, M, O$ v+ Y
if (remainder who 5 = 3) [set k who9 v- A. l0 e% e) a# v' }" b" h
                          set x( Wid / 2)  
( c5 \; ?- t1 W) t3 z) V0 P0 k/ F1 q                          set y (0 - Dep / 2 ) ]
& ~! O% a( k% i. [1 H) X' x/ C: W                          set f int (k / 5) * 5
' _. `: {( D! T" ]; `% X+ K  setxy   ( xcor-of turtle f + x ). [4 H' ~  h9 \$ {" m6 ~, d
           (ycor-of turtle f + y )
9 O% ~0 |3 Z+ s1 w           
$ j0 N# k' V- ^: i- U6 D' m  r. _# ~- B           
" c+ e& x4 F9 e$ l" o, kif (remainder who 5 = 4) [set g who  c7 ?  S" r5 n0 q. p
                          set x Wid / 2 . U5 n$ ^) Y! i
                          set y  Dep / 2 ]
- w4 E% g; C! R6 Z: [: o# ?                          set h  int (g / 5) * 5
8 B6 C) o! V" v$ k- z' c2 k  setxy   ( xcor-of turtle h + x )
' [+ `* q  i4 G* Y9 e           (ycor-of turtle h + y )
; ?' @8 t/ i; B$ u1 R/ I                          
- w$ _8 |9 z$ W" w                          1 `& M3 \9 T# \
                          ]! A, j- D) w0 @$ I6 c* S
end6 o+ ^& o! D  S$ f4 e( C' ~

5 K) M* P- N9 r; i% k! h9 `2 [% V# Y[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
% P  _* y3 A: ], w4 r8 L- q应该是
( V+ k$ \* L9 c, t4 gask turtles [
" [0 g" P: g+ [9 K) _% Bif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 9 b2 P9 |8 W+ Q. s8 w' x1 z
                          set y  Dep / 2
- V! ~, G: J8 g# @% L7 [           set b  int (who / 5) * 5
8 E- c" Q: S$ ]9 ?    setxy ( xcor-of turtle b + x )
3 o' K1 F! l! x" o' o; H# B          ( ycor-of turtle b + y )]]
* x8 r7 x& @' ?6 g( o( qend2 W. v$ A: k% E9 k: V; c0 x& M8 L
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-24 00:33 , Processed in 0.017525 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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