设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9024|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
1 {% u7 w8 m7 u4 b( k; p6 H3 d/ r! U4 q
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
7 C$ t8 d4 g1 J' V% L1 Z, X4 W+ |# z2 A& T
2 @' e. `0 n8 _& X: F4 ^& Eturtles-own [a b c d k f g h
; I3 M+ u1 c2 U8 u% q  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
5 {  f+ c' L: t  l4 Q8 Q% n]' t9 ^5 V4 A+ J+ U5 t
to new  r5 @  w7 |8 o& P  r
  ca
; b, @: c8 H9 T5 R( h# f  crt 5 * num_of_building
1 {$ m& J3 w+ ]  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]1 N  C) L# a" r
  scatter     ;;keep center-turtle random positions
, o  M: p( o+ J, m$ A/ f1 C  unit_plan   ;;make up the building plan3 g; k! Y  e( v
end% G/ |7 l6 |. x7 O
to scatter
& i* P2 h7 B7 a& h4 J- p' O0 Kask turtles with [remainder who 5 = 0]
+ L( A+ F; F# E! m& h[& f6 t- U+ P% h2 _- h
set xcor xcor - 6 + random-float 156 O& ^) F9 y0 t' ~8 k
set ycor ycor - 6 + random-float 15
; ?1 G/ E- a9 Q5 d# U, D3 J) Q( X], {  K2 N* Z, X
end# |0 E/ o: k: o9 c
to unit_plan
, D" u! c) q5 y+ T$ M$ o$ |' d, a7 Vask turtles [
" S% m0 b* P# `8 S) g9 tif (remainder who 5 = 1) [set a who , m1 Z- M' J1 |# C0 H+ ^" u
                          set x ( 0 - Wid / 2 )
( H* x  s; u& ?1 {+ J/ c9 P                          set y  Dep / 2 ]& b" w; Z8 J% W- Z! ?" Q' d
           set b  int (a / 5) * 5
: V/ p- `5 J% U( i3 r  l& g/ ^    setxy ( xcor-of turtle b + x )1 Q1 y. F0 g# C& A0 n
          ( ycor-of turtle b + y ): C! ]1 Y* B  e, L4 \% \' k
if (remainder who 5 = 2) [set c who5 g" d* }4 ?) R9 R
                          set x ( 0 - Wid / 2 ) 4 h! l+ J. c* J; k
                          set y (0 - Dep / 2 )  ]9 H1 k" ?, ~+ I! j( c: {, m' q8 a, H
                          set d int (c / 5) * 5
  \9 _: y& Q) j- f   setxy   ( xcor-of turtle d + x )
5 v' N. {& F6 L6 _/ d0 E           (ycor-of turtle d + y )
, c, e3 X8 u, O; e          4 l+ z6 c7 D2 ?% r
            ( B% b$ _- S/ v% x$ J+ J1 A
if (remainder who 5 = 3) [set k who8 s: O  [* k. b
                          set x( Wid / 2)  8 T( U6 p1 E. K
                          set y (0 - Dep / 2 ) ]1 \0 @; g; n: e3 g0 M* ~
                          set f int (k / 5) * 56 h$ {6 Q4 j* W7 d+ P4 ?: r) e
  setxy   ( xcor-of turtle f + x )4 l3 L# e( z8 u8 q
           (ycor-of turtle f + y )
6 |+ s1 `/ p! N) G% X1 Y! R           - V; v- _9 ?5 ~0 q  b
           0 B8 v, V7 V7 B1 L
if (remainder who 5 = 4) [set g who, F( ]" d3 S2 [% R# F: X4 u! D2 a
                          set x Wid / 2
2 h, s! n. p% y                          set y  Dep / 2 ]  f5 s: A4 O2 c
                          set h  int (g / 5) * 5
$ _9 [8 S" I# l# _* [  setxy   ( xcor-of turtle h + x )
$ p0 z5 V" c6 I+ @* c           (ycor-of turtle h + y )
2 z) Q& l8 c& l2 w2 Q# j% `                          
0 F% u/ F* @5 i8 c( r2 ~* \                          
* k  o: o& u( r+ a                          ]9 N& @" O7 \8 |3 L
end4 C4 X5 M. e& T) m6 ?9 s
. U3 y4 Y, C/ F1 ?$ W
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
" z+ W' c: Y: n1 S应该是
. a3 K; m) i4 Kask turtles [
& m" e+ \; z" K2 M% w2 x! Eif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 4 M* e/ T5 I0 d- E) [
                          set y  Dep / 2 1 l+ Q$ q6 }' B5 O7 n- Z# E
           set b  int (who / 5) * 5# R3 q, n' }$ B- I
    setxy ( xcor-of turtle b + x )
" k1 v3 k( q* p          ( ycor-of turtle b + y )]]
/ F2 q" z7 s/ S1 }- u1 f3 Rend
& r& w+ w3 Q3 _9 Z0 P* M% z% D之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-8 17:54 , Processed in 0.014403 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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