设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8024|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
, p3 h" J2 p& f4 l# {  ~0 y! a& y8 R/ `4 T7 B
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。  q7 W0 O: G/ O0 L7 N8 v, U, ]
/ V$ H( o% ^4 S+ d5 a7 R
turtles-own [a b c d k f g h( Q% m6 {* |' A- s2 y: B: v
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
# H/ J+ v* `! o+ {# u]
) J# U. q$ o. Z) w5 ?$ gto new5 |9 |, k' Z0 ?3 q1 j- Z& h; M) v
  ca
/ e% L+ y+ U- Q1 {9 m. f2 d; I% j$ o  crt 5 * num_of_building
7 H- }# D2 E; Z- ?8 D/ u2 H  X  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]8 G3 _# l9 r6 p( I, U( e- g
  scatter     ;;keep center-turtle random positions 3 D' ^( h  ~% h+ F; _* T
  unit_plan   ;;make up the building plan' z$ s$ L% j' P$ r- x
end
# V! ]7 I# `) J3 x) X; ?8 P5 [; }6 sto scatter4 h, f$ s+ h% Z& U$ A' s
ask turtles with [remainder who 5 = 0]$ K6 H: c1 s  ]/ D1 \* B* ~
[$ o; q8 m6 p2 `$ q" \
set xcor xcor - 6 + random-float 15% ?( _; N2 Q# W3 A' O( a- {
set ycor ycor - 6 + random-float 15
5 J& `" Z- G' b* o$ ~]; k6 V5 ?4 e- Y0 {: T7 H
end9 l& \: e& r3 y% t7 Z% X  D/ P
to unit_plan / r7 P) |( g# s& e7 J
ask turtles [
) w( p$ A( H) w' gif (remainder who 5 = 1) [set a who 8 o% ~  t3 M  c+ f% n# Q: |3 k1 O
                          set x ( 0 - Wid / 2 )
: C0 e& C# n4 f8 W% t                          set y  Dep / 2 ]
, x1 t9 i5 m- r6 _0 X% v           set b  int (a / 5) * 5- V, v6 ?" T6 ]& A- e0 H) O
    setxy ( xcor-of turtle b + x )* S/ ]# k; b5 d0 v- T
          ( ycor-of turtle b + y )
7 t% M! q! W. w/ I4 B/ cif (remainder who 5 = 2) [set c who2 G7 i2 E4 _9 @# r3 H. ]
                          set x ( 0 - Wid / 2 ) . [* f- s9 b- e% j0 M, U/ Q
                          set y (0 - Dep / 2 )  ]
+ i' l" T  Y9 D( x8 f9 d                          set d int (c / 5) * 5
' T4 ~8 K* ^- h% E" g% B0 ^  N   setxy   ( xcor-of turtle d + x )8 R% S% \* ~. Z
           (ycor-of turtle d + y )   w7 y, u5 k3 S5 T) R7 I6 @3 M
         
: A4 x' P6 Y. I4 t+ T: f            . U7 g+ ?4 x" P0 I  f6 @" A
if (remainder who 5 = 3) [set k who: z: n5 F. m$ K2 L4 S# g
                          set x( Wid / 2)  
2 _: `& J( Q( E& }8 t                          set y (0 - Dep / 2 ) ]
& L: e, F7 Y  @+ h! V2 ^. Q                          set f int (k / 5) * 5" d5 Y; P2 b' g6 w
  setxy   ( xcor-of turtle f + x )# ^( h9 Z6 q  P+ T
           (ycor-of turtle f + y ) , ^$ Z1 r( [0 ^: [. Q) ~: Z
           ' E9 X; g3 A$ I/ S) B
           9 B$ j4 X% ]. z
if (remainder who 5 = 4) [set g who2 X$ L0 F. S5 B1 X
                          set x Wid / 2 4 w; U( N0 D# C# j
                          set y  Dep / 2 ]- v$ q+ Y2 q" d6 W
                          set h  int (g / 5) * 5
4 I4 g0 |1 c# a5 v( x  l  setxy   ( xcor-of turtle h + x )6 i% i$ D1 U# {8 n
           (ycor-of turtle h + y )
# f& g! s& o* C8 o                          9 w5 u1 [$ P3 Z) ^' I0 f
                          
* M  h6 \7 [1 m$ m# }. X                          ]
/ z* [1 P0 o" ~# q, fend, i+ w3 y. H5 B0 I
. i* u/ @( E" a+ Y8 l  q4 q# u
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
7 K7 W7 P8 }1 b+ v/ ]; O: C, I- \应该是3 V( k' N! s9 n
ask turtles [7 ]  H+ ]; N! c7 B3 P! b: @/ v
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 2 o- i( g9 K% ~2 C
                          set y  Dep / 2 1 N" y9 V7 c9 ]8 a3 w8 I
           set b  int (who / 5) * 5. s0 t( P# o  o4 p& }( @
    setxy ( xcor-of turtle b + x )! y- S1 h6 d0 t% `
          ( ycor-of turtle b + y )]]
) K7 x: D* u& c( ~: d: J) w8 P8 h7 jend
7 u/ D& I% q, p8 y8 r3 I之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-29 15:55 , Processed in 0.014589 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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