设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8260|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
& f" ~& d: p4 H! }! e
5 Z9 O# o: W) E但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
. f+ l% E5 U( r6 e( q# s7 T$ @
4 h& @. ~4 |2 {* dturtles-own [a b c d k f g h5 y- @5 Q3 t' h! F6 }
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
& h. ?# Y3 L0 R0 \& w]
0 ]/ l$ x, F5 ]0 A, I7 cto new
/ e. u3 A# P4 _" J3 h% j5 O5 M  ca0 C$ j  [* j; U" D6 O, \
  crt 5 * num_of_building) n6 f- \/ X  I* s$ H) i6 H6 n
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
$ b: H- Y- m6 ~3 a$ {  scatter     ;;keep center-turtle random positions
5 ~& M6 \& G$ U2 `% E  D3 W, q  unit_plan   ;;make up the building plan8 X( w" d4 y! W# v8 L( _. |
end5 W% W6 ~$ D5 a* Y' g3 D$ n* e
to scatter2 I! v  j+ Z( p$ [4 D
ask turtles with [remainder who 5 = 0]
  e* H1 b2 v/ C" i8 u2 r[
! B# R, F4 a2 ?( }; G8 j" @6 cset xcor xcor - 6 + random-float 15
% x) d3 X; _% Q* I9 Gset ycor ycor - 6 + random-float 154 f. x# N7 {* l8 V  \* ~
]& u  M' ^2 s9 _* ?& {- T0 X% n
end( W, j# p1 G# j( q! K
to unit_plan
& x- d) H+ ^+ V6 B7 Zask turtles [$ W& V7 J& i4 h6 A+ m6 b: W0 M
if (remainder who 5 = 1) [set a who
/ {5 y0 _- M8 s, a  a- m! d                          set x ( 0 - Wid / 2 ) + D6 S+ E, G2 [3 e( [- D
                          set y  Dep / 2 ]
2 M" S5 T* e# k6 c) C           set b  int (a / 5) * 5
" P! {2 F. \% m7 L    setxy ( xcor-of turtle b + x )
) a! w8 \8 i5 L. W* K5 R          ( ycor-of turtle b + y )5 X& W; b2 o# Q
if (remainder who 5 = 2) [set c who; A( ]8 _8 d0 t6 |& W! m! }
                          set x ( 0 - Wid / 2 )
. N' d2 M1 j) d6 K/ p3 W                          set y (0 - Dep / 2 )  ]
( T5 \0 E6 ^$ f( |* o3 j                          set d int (c / 5) * 5% M- I6 ~2 W# q4 _# S
   setxy   ( xcor-of turtle d + x )
# G2 g8 f' ?5 I; M           (ycor-of turtle d + y )
" E$ R1 B+ E* S7 f) H/ p$ d" U         
  M  p- w1 M1 d4 \3 x            2 ~4 [9 k4 Q$ x  E: ?9 ~1 g
if (remainder who 5 = 3) [set k who; r% I& j9 c/ k1 I
                          set x( Wid / 2)  * V) f: K4 n* s
                          set y (0 - Dep / 2 ) ]
& g3 u/ b2 e  e, j                          set f int (k / 5) * 50 f; y* ]+ M  {& D4 I, ~: T
  setxy   ( xcor-of turtle f + x )9 c. ^' W8 h) u/ `
           (ycor-of turtle f + y ) 4 d) l& O& y# C  R% c$ M
           
( o7 `9 _6 W: n) |. e           8 g6 M  R+ j9 W9 e, P0 v5 r
if (remainder who 5 = 4) [set g who" P7 H0 M6 a& p1 g4 W( c
                          set x Wid / 2 1 H* {) v' M' _( [+ b3 @9 }; O% f
                          set y  Dep / 2 ]
& |5 V8 b6 f& i, z                          set h  int (g / 5) * 5
: e, B- A7 J3 j% \& M  setxy   ( xcor-of turtle h + x )
& G# h! w6 U/ h" L           (ycor-of turtle h + y ) ) c, K- {8 G  e9 W/ P
                          9 Y$ q, i! w! c  L
                          
( C" `, ?' x; e, P8 N                          ]
& t/ Z5 m* l" o* q& L5 K  {end+ x3 @8 H1 n# S& r  k# V
# b& Y& a) ?" X1 D7 G0 q
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,* x0 O- k- ?, z
应该是
6 }( O$ b, s* yask turtles [6 b# t& K/ A. k( C; h; [6 S
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
9 v  p9 e: l" d' x4 j' q6 N5 o                          set y  Dep / 2
* Z- g, K7 n6 Q5 k           set b  int (who / 5) * 5# n( A; L* m6 }5 N) A3 t2 G
    setxy ( xcor-of turtle b + x )
0 M( c& \% `5 l          ( ycor-of turtle b + y )]]
. a) s7 H( ]/ y' Lend
" |: K3 J/ @5 q6 f之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-26 10:21 , Processed in 0.017124 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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