设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8082|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。, a8 O4 |, V  _( }+ E4 W
9 E3 T7 o4 H+ ^+ D
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。& e  z. l3 C: ]% d' s1 L0 ~
# S9 y4 }1 v0 p* {1 z2 w
turtles-own [a b c d k f g h
3 A5 t2 d* \/ v  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
% h$ t, l( p9 q]
9 j8 s! N# L, W, o- U7 W  Vto new; n  I. {! b# f4 e$ X# \  E
  ca( u6 Y1 ?9 U7 T- x7 [2 ]
  crt 5 * num_of_building
1 V$ l5 p: B8 N# n" U+ k; a! B0 v2 [3 s  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]2 r$ u8 l/ w  n" M( D1 t
  scatter     ;;keep center-turtle random positions 6 i+ C4 ?1 s. m/ m: C$ X
  unit_plan   ;;make up the building plan
3 R; j9 r) l% c1 [& @- uend1 I: k/ E2 E, k7 K. w6 I4 }: }& l
to scatter+ `& Z. }. \& r: N) y0 ?1 J% k- O
ask turtles with [remainder who 5 = 0]
7 |) n* t4 I2 z+ r% ?7 [8 U- d2 x[
! l- f$ P0 l. E, Aset xcor xcor - 6 + random-float 15+ d& n9 r$ \9 }5 x% q4 m; T4 p
set ycor ycor - 6 + random-float 155 c+ d6 B0 ]" B* Y- I1 a" S
]- _+ J2 W8 O" ]  N
end
: F( ?. e$ e- q7 e' Qto unit_plan
3 U+ I7 \) S) \ask turtles [
$ \% h+ O0 }9 p3 oif (remainder who 5 = 1) [set a who
* W3 }2 N2 {0 D- A8 `                          set x ( 0 - Wid / 2 ) 4 {* P) B7 t) @9 i# c$ v
                          set y  Dep / 2 ]+ @% F* D6 `: l( j# ]& c' I" T1 F
           set b  int (a / 5) * 52 L5 m+ f  h  T9 l' D
    setxy ( xcor-of turtle b + x )
. ]  l7 z4 f4 ?$ c  X! s* e          ( ycor-of turtle b + y )
# l% b7 m2 L8 ~$ z: v7 \6 q: Sif (remainder who 5 = 2) [set c who7 L5 g  l7 j8 g6 z
                          set x ( 0 - Wid / 2 ) ( B0 M1 s; U2 k& s7 O  R* e7 O) o
                          set y (0 - Dep / 2 )  ]; }& w: e4 w3 W8 K$ |
                          set d int (c / 5) * 5$ I1 z! M! y1 q' O& ?
   setxy   ( xcor-of turtle d + x )
) a# y5 T$ |, H           (ycor-of turtle d + y ) / H0 J) |7 q  K6 ^! S
          + F5 Y# U" e, _# ^' [
            
' l% Y# @) d) V5 @if (remainder who 5 = 3) [set k who
. s3 }4 {. G9 g                          set x( Wid / 2)  ) i7 L* Z9 |' B, \- O
                          set y (0 - Dep / 2 ) ]! L6 H% F' ^! f6 G
                          set f int (k / 5) * 5
% Y0 \( e0 T# z  setxy   ( xcor-of turtle f + x )
0 N: C2 U: T$ g$ U; m. n           (ycor-of turtle f + y ) * t( S: f, d" Q! R7 D4 H
           
" H3 i( V% L. S* N& T           
& q" l* D& _5 U- Y2 C" jif (remainder who 5 = 4) [set g who) L1 U! ^8 W! I- A1 X2 A6 \0 s  V. G
                          set x Wid / 2 3 m6 M8 G$ |+ r6 R9 z$ m+ S6 B9 M
                          set y  Dep / 2 ]6 ?# C1 E8 T# l6 x
                          set h  int (g / 5) * 5
6 X8 I3 t4 f- t& \5 o% B( Z+ V; i  setxy   ( xcor-of turtle h + x )
9 _3 v& k! p  L+ l           (ycor-of turtle h + y ) ' ~! m: K6 s- A  k
                          
8 B. @) t+ H& F% i1 z                          
& I1 A% w- e1 J3 H0 u8 o                          ]9 J$ y4 _8 n2 V
end, k: R" T( f8 l# c
7 }1 o* Y; t4 z1 s
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! U1 _! C- c( T$ P' e% ]
应该是3 Y2 Y  J2 U& ]6 b, [# R
ask turtles [
* `6 v/ f: C. P  Pif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) $ i  i2 T! q5 U; _$ J: j
                          set y  Dep / 2 ) u: y; t) `7 P
           set b  int (who / 5) * 56 j7 ]6 B2 O. j6 g
    setxy ( xcor-of turtle b + x )
: t# `4 j* R' Z0 [2 t2 i          ( ycor-of turtle b + y )]]% H7 R" H+ g3 E) {/ I4 _  A- f! ?
end
/ S% @+ b1 Z7 o" Q0 d: E9 M之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-5 08:13 , Processed in 0.015317 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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