设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6321|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( C. [3 K( m/ g9 W& P/ a6 a
+ B0 B% X. w! J) x. q: I但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。9 C7 t4 [& s5 L* z" p

9 b/ Z1 O$ @$ ^9 O: g) _turtles-own [a b c d k f g h2 R- P) F& }+ N9 g
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ' [& P& j' J9 M, w& U4 P
]
6 J6 k2 n& {$ Q! v9 ato new
! }* ~9 U/ k2 E& n1 h  ca/ L. a! V6 s# U
  crt 5 * num_of_building) [; i  x" C  ?2 \, E2 y( T
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]8 Q0 [% Y! B1 a4 ~$ O
  scatter     ;;keep center-turtle random positions / v: p' s+ i9 [) g6 Q8 y! L, M5 M2 _4 u
  unit_plan   ;;make up the building plan" j& O' C1 }3 H; F3 Q5 k; X9 C
end3 n+ t: U3 b1 B, p
to scatter  {% q5 q0 |0 z, M
ask turtles with [remainder who 5 = 0]2 [0 V1 Z- h1 W* G) X8 U8 ^
[
' C( d# D2 h$ P# a( t8 Uset xcor xcor - 6 + random-float 15" k$ e/ I+ t1 X4 W
set ycor ycor - 6 + random-float 15
5 a; t. |  Y8 k& w* q8 X' F. @]
% Q$ F; ?5 c3 ^) j/ Send) y* f+ \: Q. E5 D1 J! U
to unit_plan
2 d9 a1 H8 i" j) y4 _& lask turtles [3 f, n, _4 B1 b( {
if (remainder who 5 = 1) [set a who , z5 M  }  Y$ O- d$ K" i8 R4 G
                          set x ( 0 - Wid / 2 ) * y% @; T. t. y0 `
                          set y  Dep / 2 ]
' C6 W  S1 \- H# @. Q) A8 W- p           set b  int (a / 5) * 53 W/ V6 K& d9 W  x$ M
    setxy ( xcor-of turtle b + x )
9 v1 r% N% K  H7 [" ?7 b! r          ( ycor-of turtle b + y )" @. o1 h2 c( v& `) v( E  ?; i
if (remainder who 5 = 2) [set c who
/ `3 a( D7 a4 [                          set x ( 0 - Wid / 2 ) & h: r. K6 m# Y( |: ~$ L
                          set y (0 - Dep / 2 )  ]. n5 x4 p5 }4 S7 L( Z% n( e+ U
                          set d int (c / 5) * 5, b2 w8 w8 L+ d- Q6 s0 C/ l# W7 ?
   setxy   ( xcor-of turtle d + x )9 i1 N* |# j  N: ?0 H! E
           (ycor-of turtle d + y ) $ a: g7 F& I( a3 R
         
' k# c: r7 N* |  p            
' H$ ?- k7 k$ ^, g& W# w+ D+ kif (remainder who 5 = 3) [set k who, h# c6 M' ?, X1 ~7 L
                          set x( Wid / 2)  
+ K8 ~3 r- V  J1 `' V$ x                          set y (0 - Dep / 2 ) ]/ e) D! ^7 G/ x8 `7 I
                          set f int (k / 5) * 5
* W) w. A0 s$ i5 X/ b  setxy   ( xcor-of turtle f + x )
; B0 o. Y2 U+ t8 x           (ycor-of turtle f + y )
: ?  |3 {& k. u. y2 z           ' P6 e9 e) i7 D
           
/ d+ L& f" g5 C# d8 dif (remainder who 5 = 4) [set g who
; ^2 S, N3 }3 f& r" V$ z                          set x Wid / 2
) H. G" h) `# b0 t% _! P  Z. U                          set y  Dep / 2 ]  Q; x8 A3 s! G: t) e  w& H
                          set h  int (g / 5) * 51 E, A! \) u; \
  setxy   ( xcor-of turtle h + x )
/ f+ B9 r- v( P/ [# X$ z           (ycor-of turtle h + y )
# R& o# j# l& u8 W4 k                          * c* X1 t- x& I. C6 @
                          9 F) l* w2 m, X9 h
                          ]  a  ?5 m+ k4 K1 G
end8 d  s2 i8 B6 ]9 z/ t

% ^5 b6 a& W# u2 P! |; ~! N[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
% J, l" e  X& r( W8 s应该是1 ]5 h2 E' |+ p; n- K- W2 q
ask turtles [, C1 |; `$ q2 Z  C7 @  A
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) : ]! b4 l4 p( P6 l0 \$ [% ^8 F
                          set y  Dep / 2 9 X8 b$ O. h3 p  F8 R) U
           set b  int (who / 5) * 5$ m8 a* `# q4 l, e
    setxy ( xcor-of turtle b + x )
5 c+ f7 D3 g2 m! q* I          ( ycor-of turtle b + y )]]
- t0 u- g& F8 n( K6 Z) {end
- Z/ r3 M* O2 s$ m- Y  u( j之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-14 01:37 , Processed in 0.017914 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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