设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8154|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。. l2 D: b3 G- g/ w+ j
) C, K) Q  h) _4 V/ H6 p: C# G
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。. Z$ I3 r9 `7 [; }, X! q9 W
9 ]$ E' [9 k$ T: i- Q" ]- f# g
turtles-own [a b c d k f g h7 c; v$ }( \" f( P( R
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 3 q& v" O' Q( K
]/ j4 W' x; D# q, {2 \) L( {
to new
0 U8 }2 X" N9 l" n+ x6 O; l! r# g  ca
7 ^- z3 m/ L2 ~2 [- B  crt 5 * num_of_building1 v2 [) N6 g! l3 Q( E
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
- E/ W# `* `  W) J( B  scatter     ;;keep center-turtle random positions , d4 w7 ^0 v1 M' {& t
  unit_plan   ;;make up the building plan# Q9 \; I! q) u. N, H% G; \
end
) Q8 ]# M/ r$ t! C0 n! S- i/ \to scatter
  o- @! V+ `$ ^ask turtles with [remainder who 5 = 0]5 d! z, @2 Y- e+ g
[
. f/ m" l8 k. I  D* h  S; Mset xcor xcor - 6 + random-float 15
. y0 z3 ]+ }0 f2 Oset ycor ycor - 6 + random-float 154 w8 s4 w! r5 C+ I  a
]
8 l- f4 {* ?) D1 Iend# n5 R1 u8 ]7 r
to unit_plan
: O5 V5 [6 N% T& @7 N6 `) m* bask turtles [# S% |$ e3 j6 v' U8 w$ P, w
if (remainder who 5 = 1) [set a who
+ ~$ Q- q5 i# i5 b9 r0 x3 t/ e2 j# e                          set x ( 0 - Wid / 2 ) 1 `, R4 k! {% n. R
                          set y  Dep / 2 ]9 y: u# r, ^( a) O8 D
           set b  int (a / 5) * 5
5 c8 G2 @6 C5 b9 N) z( I# E9 d. H) Q- q    setxy ( xcor-of turtle b + x )7 S% S% T# W" x1 L( a
          ( ycor-of turtle b + y )
' v! w, Z3 V$ N6 yif (remainder who 5 = 2) [set c who9 m$ L1 R0 l: p- q$ I5 W
                          set x ( 0 - Wid / 2 ) & H/ d' @! I+ v1 A2 E# Q0 I
                          set y (0 - Dep / 2 )  ]
% h! s. A8 T4 O0 h( W7 @) O                          set d int (c / 5) * 5! ~( m% |. y- F8 }, N
   setxy   ( xcor-of turtle d + x )2 P0 j; q" [/ x9 K+ B! z
           (ycor-of turtle d + y )
' X* Q7 n6 x7 Y/ ]5 R          ) ^/ \3 X( W2 ], k6 Q
            3 \" M5 f  ~2 i1 N' {
if (remainder who 5 = 3) [set k who
7 a, U  h2 u. t" A- X                          set x( Wid / 2)  5 T2 e- w4 x5 L) S3 `4 D4 [+ @, e+ i
                          set y (0 - Dep / 2 ) ]( |' G! [, w6 {( O: x
                          set f int (k / 5) * 5* p  B+ F) ~3 ~) X( a
  setxy   ( xcor-of turtle f + x ), r  r2 K! o% H% h  X7 J
           (ycor-of turtle f + y ) & X) w/ M! o6 [5 ^# \( ]
           ! l* q6 C* A% c2 H3 M: b* t
           / X) C( E! ?5 h& ~9 t
if (remainder who 5 = 4) [set g who' \) M5 l' \, n
                          set x Wid / 2 ( K5 J/ X; T7 ?, z. u/ t1 r6 a
                          set y  Dep / 2 ]
6 |) }# T% X3 ~3 S9 ]7 w                          set h  int (g / 5) * 5
, m* A. S2 {$ _9 F! N4 K  setxy   ( xcor-of turtle h + x )
3 F; {5 c: g: v  e: `           (ycor-of turtle h + y )
2 d- H" {. U/ \  D, g+ q7 k                          
! w- ^- p" b1 h7 j! t6 a9 g/ h0 U                          * q# K! T6 C& p7 X; s% ]9 F
                          ]% j9 m5 f0 T* |* s) C
end3 B$ X& G3 X$ e& c

' Z' c6 O- z) @; A) C* Y[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! j+ s/ Q4 e# x+ y- u( Y
应该是# N: O1 F/ D6 X* x1 r1 u9 n
ask turtles [3 G' F3 \+ @( h3 c- V' Q
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 5 J( t2 r7 R9 b, T
                          set y  Dep / 2 ! C6 ^, B4 O5 z
           set b  int (who / 5) * 5" v8 W% V) ]- C3 A( @% M( l
    setxy ( xcor-of turtle b + x )3 N6 m6 z9 u  D& h
          ( ycor-of turtle b + y )]]
. p& c  z/ t5 n$ u6 Q( M# pend; Q0 Y; {% o+ z
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-12 04:52 , Processed in 0.020187 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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