设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8985|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. E0 Q+ q0 o3 U/ u0 ?. \# A  [
) J# u- P* B$ ]" R但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。. {" s- n+ K9 c  d7 _5 l$ u5 u$ c/ D

8 z- \( n+ s3 ^/ Z4 T4 rturtles-own [a b c d k f g h3 g; _7 z$ q8 m+ ^; n0 D1 r) J" F
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: K- b4 d" B, ~" V. x]
, t; m7 W5 T. lto new* o8 s: \) D& C7 Y: u  l. T& t) m
  ca
/ ]) `+ d6 j: G3 K0 `. c" c) B$ `  crt 5 * num_of_building$ [, ^  J4 w( L2 Z/ v
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
. Q4 v% N. u! A* o, E  scatter     ;;keep center-turtle random positions ' X) g3 h" O! U2 `; ~- ^
  unit_plan   ;;make up the building plan
. ?! J+ t2 Y- I+ Dend) P" l. c1 S& p5 R& p2 j
to scatter+ l, c% r; |0 R/ F3 x4 {: G8 E- `- }
ask turtles with [remainder who 5 = 0]' H7 j. T+ }. i" M' ]0 f5 K
[) p* e- B' t- C* v# ^9 `4 i% \5 I
set xcor xcor - 6 + random-float 15$ Z. I9 O6 T/ }- O* a7 B
set ycor ycor - 6 + random-float 15
$ }  L$ E( {9 W1 Z' B]
6 R& U0 B4 L, E7 {# ~6 l$ gend
5 l7 ^* D) u/ D5 a* X* xto unit_plan
$ f; t  X* d. H5 Y- @ask turtles [0 ~1 s+ ?( E* D- m) M$ y
if (remainder who 5 = 1) [set a who ' n3 h' u' H, I) P
                          set x ( 0 - Wid / 2 )
$ g; ]: [7 D; e4 X0 e4 v                          set y  Dep / 2 ]2 j7 z+ p; w, i
           set b  int (a / 5) * 5
# X- |) M0 H5 w  D. j    setxy ( xcor-of turtle b + x )* u7 }& R9 g3 J6 F" _: _
          ( ycor-of turtle b + y )- N7 ?. W- s  y
if (remainder who 5 = 2) [set c who
) \5 t$ c- X  I1 j. l; b6 J                          set x ( 0 - Wid / 2 ) * o3 W$ j0 M& q$ |# d" h
                          set y (0 - Dep / 2 )  ]
: v1 s. H  F% P# r" Q3 N                          set d int (c / 5) * 5$ Z3 Z* a% `$ P; R
   setxy   ( xcor-of turtle d + x )4 y$ S! R6 D: Q/ C0 J
           (ycor-of turtle d + y )
0 f! b# G! z7 E. Y% f7 O' x( O         
: F: [/ n* C9 \- o/ j7 @* L            " y, p* t# J2 n0 j
if (remainder who 5 = 3) [set k who% B' ^7 M" Z) H, D
                          set x( Wid / 2)  
- s6 X. R  N3 b7 ^  Q                          set y (0 - Dep / 2 ) ], V  h3 r0 K( J3 Z
                          set f int (k / 5) * 5. X& A% Q6 Q% X1 P+ L! T2 ~
  setxy   ( xcor-of turtle f + x )- }0 ^# P! a/ T; {* z$ I- T+ i
           (ycor-of turtle f + y ) 5 [- N6 x3 T* {: Z$ J/ A# i: k6 }
           
3 y; p8 G2 e% u           , h: ]* Z) j) {& ~1 [
if (remainder who 5 = 4) [set g who4 Q' {( o8 _/ L# O* S' e: o$ I
                          set x Wid / 2 1 n: L# P' l) @* v
                          set y  Dep / 2 ]
. {8 {; X7 y2 y0 |- F                          set h  int (g / 5) * 5/ b( k9 Z8 |+ W5 s  P4 g/ c& ?0 c
  setxy   ( xcor-of turtle h + x )$ {$ x% P7 k9 `+ b: S9 A) `) v
           (ycor-of turtle h + y )   c" p: G- }5 U  m% p- _1 e3 @: v0 }
                          
( ]0 _3 N) @# \( Z! [                          
, o0 L5 R& r& d2 K! o( _0 w4 s2 K                          ]! `: W7 A2 y" X! |
end
6 C, J5 i" h' A/ Y# C7 f2 A# \' i5 J- ?" B! K% K" u! J# A
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' l- ^  N/ {( x9 }应该是
9 E+ o8 D5 I. v& ~( Hask turtles [/ g  G9 {1 ]& N9 a9 \0 B, v
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
5 V  R, a! L7 U8 \                          set y  Dep / 2
$ a- x8 n/ X& \           set b  int (who / 5) * 5$ j6 Z1 S' P- C% ]) ?( N
    setxy ( xcor-of turtle b + x )
( T2 W6 O/ H0 F- w' ?6 z! W+ S          ( ycor-of turtle b + y )]]
( a. c; _7 x4 K% @  nend* O8 |0 w- j0 D0 I9 Y% P% @
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-2 20:47 , Processed in 0.017070 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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