设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7379|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
# Q  l8 b% N  `0 h8 u' M1 |
" z" y2 `: P( T$ |1 i但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
; S7 R# `9 p  x
; y0 F( U9 T# k/ t* l, Y) xturtles-own [a b c d k f g h2 s! E0 @- {& ~) h% _0 o; @; _7 b
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
6 p2 ?& |% C% X5 @]
& b* W4 n4 \) c; ?. K% M5 w! v/ ^8 qto new  T2 i+ n- }" d
  ca: u5 X' k3 b) X4 w
  crt 5 * num_of_building
0 k! z' F6 d$ R4 B  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]0 c2 ^4 u0 d  Y$ h; s$ `3 Q; ^
  scatter     ;;keep center-turtle random positions 7 ~0 w0 U) j, n0 j/ ^
  unit_plan   ;;make up the building plan4 z& }$ \5 l4 i+ X6 s) D; e
end
+ r( c+ g+ F6 C4 c/ O4 o: ?to scatter% z5 S, \" w- G1 w, m. j! m8 b
ask turtles with [remainder who 5 = 0]& v3 m* a$ K6 @! d1 Y
[0 z6 e( U1 |4 O# e# X! E/ R
set xcor xcor - 6 + random-float 15: {' y4 z3 v' o
set ycor ycor - 6 + random-float 15
) |# C) ~/ N" z- k]' N7 F( U, y  d, f
end9 G  y" b, P# a8 i5 t9 c4 e
to unit_plan   d6 U0 S4 L; G: m% W  b" F
ask turtles [& q: K! g/ n% E, x# N) F
if (remainder who 5 = 1) [set a who - B/ z; y# t% G7 q( u9 `* z0 _$ o3 {/ ?
                          set x ( 0 - Wid / 2 )
) z/ t5 ~1 h$ E7 A/ h7 A                          set y  Dep / 2 ]
$ r) b; n8 j' U' z; C5 j. E           set b  int (a / 5) * 5( l4 f2 \" f1 G+ r
    setxy ( xcor-of turtle b + x )) E: [7 z. T5 K: T* L) q' e
          ( ycor-of turtle b + y )
+ K6 e( n0 C. ~/ zif (remainder who 5 = 2) [set c who
5 i* ^- p% u: K                          set x ( 0 - Wid / 2 )
9 O( q& ^$ {6 @6 m$ l6 I3 C                          set y (0 - Dep / 2 )  ]
/ a7 A8 l7 z/ q                          set d int (c / 5) * 5, M* Z2 i6 ^4 f" C( [! b
   setxy   ( xcor-of turtle d + x ), q6 G$ e: E& Z# j
           (ycor-of turtle d + y )
  j$ R, g+ Y1 R9 h. x9 p! P; y          : ~9 \! _2 Z' Q, b
            . E6 l6 b: \6 r0 f3 B( b, Z; w
if (remainder who 5 = 3) [set k who
- }) V) s) a8 W- W                          set x( Wid / 2)  3 F# a3 ^0 v% c( j; B& Q
                          set y (0 - Dep / 2 ) ]
+ q3 `) ?  M9 I5 S! J7 J  i                          set f int (k / 5) * 5
; w7 Y5 C; ^$ ]3 G) F1 |  setxy   ( xcor-of turtle f + x )5 \! c+ f  n; P! e" ?1 Z
           (ycor-of turtle f + y )
4 w( _. r3 I2 B4 Y  X           1 d' ~. n: z9 E5 e! d- |9 G
           - c' x1 b! x5 J8 a( Q
if (remainder who 5 = 4) [set g who
7 }- T$ n: F. l0 z' @                          set x Wid / 2 : v% J3 B. }& a+ O9 R
                          set y  Dep / 2 ]
" v) v, X7 ^! l9 r5 V% @                          set h  int (g / 5) * 5
0 k! F8 T% l: L' B* C  setxy   ( xcor-of turtle h + x )7 w0 U+ @( l: M9 E0 x3 X
           (ycor-of turtle h + y ) 7 Z$ ]0 |# a8 R6 u' X
                          
6 }0 E! s, ]6 _                          8 Y- y" V: m& C) I; {
                          ]
" S; ]$ a4 x  X( K6 c3 v6 Y; mend( l, Q  }7 d, \7 ?: {& N4 o( ]

: a& F, C' E$ b; ^5 C4 u5 S[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
6 P- g; i% M+ Y" A1 }( ]应该是
& |7 p% t$ _" M2 xask turtles [3 I& ~5 x( ?8 _: ?# X4 x  T9 a
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # i" _. J: f8 _% u! Y4 B; s' P1 a
                          set y  Dep / 2
  m' v$ n' e* T) T/ g7 d           set b  int (who / 5) * 5
4 e# Z5 \! y- }    setxy ( xcor-of turtle b + x )! `; l! g" r( k5 w0 E1 e
          ( ycor-of turtle b + y )]]6 a8 o2 U. e0 n- ?5 p$ B1 V+ h
end
2 p% u9 W9 Y! g( D5 d之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-5 16:10 , Processed in 0.015596 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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