设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7372|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
+ O; _# r# s9 l" J$ t
! r2 J0 G8 {$ x, X但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。& @  e# V% Y! j2 u

, k$ j) Q2 O2 _6 n& A6 Y1 w/ ]turtles-own [a b c d k f g h
/ C. o* [8 r. \8 `7 v+ F9 y  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
% n. d; z# M" Z! c' s& ]. S]; v+ }- |' r) |2 G; ~2 {
to new6 d: a- z" z- q$ {6 j7 K7 N2 w
  ca& v1 X3 s# e6 R  ^: y
  crt 5 * num_of_building
2 u) i3 F( b5 K4 a; L  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 V3 Q5 X8 k0 `7 }: l  scatter     ;;keep center-turtle random positions 3 V' O' t4 m" K9 M6 e. V& M9 U0 O" d
  unit_plan   ;;make up the building plan
* w6 k6 R2 b/ R9 i1 Mend! I" X' m. p% d! W0 e+ _
to scatter, @4 I" R, q2 I
ask turtles with [remainder who 5 = 0]  F5 x  K7 p8 C- F1 o; I5 c
[0 I% L% b: \, ]. I/ W# t
set xcor xcor - 6 + random-float 15( r9 w7 c/ A/ {. {
set ycor ycor - 6 + random-float 15
! X8 n  q2 {6 n9 X$ K]" J. |2 b- |# M9 ]3 t; a5 {& Z
end
  m$ ^$ Y" g9 x& S* n- s* F. ^to unit_plan 2 x7 o! w8 J1 O/ j5 l6 I# @8 C( w
ask turtles [) Z9 R6 q$ u% M! {
if (remainder who 5 = 1) [set a who
' L+ w' A' [3 n! o! z' O! I                          set x ( 0 - Wid / 2 ) 4 W2 }* ^/ N: N- j, J. o
                          set y  Dep / 2 ]
# ?. z7 J4 q6 \9 V8 u' W2 ~: y           set b  int (a / 5) * 5  I+ C! D6 Z4 e" F. h
    setxy ( xcor-of turtle b + x ): \1 j4 s# `1 p# A. k9 Q
          ( ycor-of turtle b + y )0 N) ?% M! S" n$ H! F* l4 O' I
if (remainder who 5 = 2) [set c who
, l- y  z+ h( u% z$ T                          set x ( 0 - Wid / 2 )
1 [( u1 D& d$ j                          set y (0 - Dep / 2 )  ]
* h; |) o3 T! N% j                          set d int (c / 5) * 5# p2 T' W2 Q2 H. C" u
   setxy   ( xcor-of turtle d + x ). Y7 w; x9 h: A2 k6 p
           (ycor-of turtle d + y )
6 I! K; a' E& J: m/ t5 N          1 n6 Q9 i4 \" g5 ~- S4 Q7 P& W
            
, k9 C+ `; T0 l/ Gif (remainder who 5 = 3) [set k who
7 ]1 |: v' G  j' W                          set x( Wid / 2)  
  u1 g0 H- `5 [; [$ {  e6 a                          set y (0 - Dep / 2 ) ]' m" W& b0 V1 X
                          set f int (k / 5) * 5
) x) m, v8 H( u% M& Y  setxy   ( xcor-of turtle f + x )
( i2 p2 U1 x0 I6 }. [           (ycor-of turtle f + y )
0 }& Q+ l( D( j4 E           9 R% ^; {. d7 `  ^
           , u* O6 X8 g5 J, ]/ ]
if (remainder who 5 = 4) [set g who
2 n8 J, [( ^* Y, A7 Y' }/ W" I                          set x Wid / 2
) J3 q9 A8 v+ ?3 }: S% @                          set y  Dep / 2 ]
. A* f6 |2 V* U: T" q# H4 m4 _* r; b                          set h  int (g / 5) * 5
+ P/ y+ b3 j9 u; t  setxy   ( xcor-of turtle h + x )
9 Y! J, X/ a7 D! X           (ycor-of turtle h + y ) 3 V2 E4 t( Z! J3 R& ~
                          9 p* V2 ]9 B# g! e. D, y( Y* V
                          % J% A; K: X. c7 _! l7 C# E
                          ]
) d8 a/ W3 C2 ~# F  r5 O3 v9 Jend
: d1 E9 R& C' l4 ]! p2 d/ C( {6 ]- C* L+ M( L% y$ W0 `7 d
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
" q) a( W8 H$ l) A应该是
1 g: N7 b8 L5 e3 Qask turtles [% D2 ^3 a& r7 G: O) c  A- H
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 8 V. C+ X( ?( _( f2 ?/ l$ L
                          set y  Dep / 2
) i4 \' ?2 Q9 U           set b  int (who / 5) * 5  ?/ O! V' s/ R2 A
    setxy ( xcor-of turtle b + x )4 e+ B5 x2 i7 H4 s# w, E
          ( ycor-of turtle b + y )]]
( |/ p  q( [2 H- G% {' oend
, s( x, o& a' e2 I# y1 l之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-4 21:09 , Processed in 0.019520 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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