设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8993|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. w. D- }6 R1 H/ X5 _6 d$ f: L, e* c! ~" x1 g/ C- h5 P
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
! [2 h# B2 r. g" V6 r
4 T3 ^2 |* V$ g1 S1 W, Bturtles-own [a b c d k f g h) J% O: p/ w4 U, r  Y; G
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
+ [; p7 Q5 K1 @8 L9 I& `( T7 p+ C]- A/ T8 j3 K7 ?$ N; i
to new' v, N" n7 U& ?. {
  ca' x, A" `* N' \
  crt 5 * num_of_building
% E6 y! c( C% f. h) C/ w+ f  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]# N+ i5 m6 ]0 M% ?1 U
  scatter     ;;keep center-turtle random positions 8 @: g3 F+ b$ C& k! X# E1 W
  unit_plan   ;;make up the building plan
5 [2 A" m9 L1 f' T& |( Gend- I) j- X" E6 C4 R- m6 x0 }
to scatter
& u. N% E$ T- ?$ F. ~0 {ask turtles with [remainder who 5 = 0]
0 }3 J+ Q. r4 ^* `  X7 x[8 o3 P6 E4 L. u* ~
set xcor xcor - 6 + random-float 15, M! X) \, l  X; d, Y
set ycor ycor - 6 + random-float 15
2 }. _" e, ~7 {) K2 k& E/ b1 e]
( u: _' u. T5 ]  O4 uend! V1 S4 C6 o+ ~; z- n# r. ?
to unit_plan 3 g  E# ]/ F7 x# o9 P
ask turtles [
+ }8 v- m0 F9 v3 Cif (remainder who 5 = 1) [set a who
$ P* {) Z- V0 z0 c. X) m, B$ c( r                          set x ( 0 - Wid / 2 )
) z/ Y) U$ D- b0 ]: D" p5 d                          set y  Dep / 2 ]
. S' m0 \9 ?; `! t           set b  int (a / 5) * 5
% U% U- d$ L. b1 @    setxy ( xcor-of turtle b + x )9 H/ u. ?5 B' j3 L( e" {7 C
          ( ycor-of turtle b + y )0 k- A2 u1 N* W( s: O
if (remainder who 5 = 2) [set c who2 n6 w2 M# G; N5 Q
                          set x ( 0 - Wid / 2 )   ?. o3 ~( T+ O' h
                          set y (0 - Dep / 2 )  ]
  C+ C: g# [4 @" }                          set d int (c / 5) * 5$ o9 y7 Q! I9 X. U& L& |8 e1 }5 I. r
   setxy   ( xcor-of turtle d + x )( f/ J7 }/ _# _3 ?( m9 O
           (ycor-of turtle d + y )   O6 \! A& @6 c# n" S
          " U2 i! X5 E; _6 x0 U1 C& y
            
; K) A1 q  J3 {) p5 c6 q2 o$ @if (remainder who 5 = 3) [set k who8 c- {0 a6 R+ Q. [) M+ b
                          set x( Wid / 2)  
' ]4 L6 P" U- F) J  ~* f5 F                          set y (0 - Dep / 2 ) ]( C5 }0 y! |4 S6 R% I7 z
                          set f int (k / 5) * 5* ^& T- u" `# s. f0 m) j5 n" }
  setxy   ( xcor-of turtle f + x )
1 v8 Y5 x1 k9 Q0 z           (ycor-of turtle f + y )
  u6 z+ F; K' d( N) g           
, l/ F- [: o, B: `           
5 N5 s4 W* K% M2 U( \( s5 ~: Qif (remainder who 5 = 4) [set g who( A7 Q5 |6 s0 f# P; ]9 E' F; y8 u5 m
                          set x Wid / 2 7 k9 t* A+ b. _7 n% s7 n
                          set y  Dep / 2 ]
9 F$ B) d7 z% t/ r                          set h  int (g / 5) * 5
: V# B+ |4 S4 s: I3 h  }0 n0 U  setxy   ( xcor-of turtle h + x )  U, f$ b2 ]' V4 |" C$ @
           (ycor-of turtle h + y ) # @5 S% H) B9 t" k
                          9 T" K& o6 `* A
                          & o$ S0 i' O' q9 Z% S1 b8 s+ s
                          ]
5 o# c0 @" W5 Gend$ o. o- B/ l5 ^2 V. {' {
' i9 J6 M* v$ a6 B- }/ ^7 D* }
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
& \0 |$ p+ H  [) S4 C" T应该是! f- v7 }" E# b' q
ask turtles [/ i! S1 o' r6 G5 a
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ( F' U) e1 X1 x9 N- V1 g
                          set y  Dep / 2 0 F- i0 k. t  z1 O- X
           set b  int (who / 5) * 54 L. H6 {% H, ~8 s( V( V% c2 P
    setxy ( xcor-of turtle b + x )* c; x: d9 N8 {6 [0 l  ]. l; n
          ( ycor-of turtle b + y )]], i3 G+ A  u! Q1 p& p
end
0 ?, B" S5 G1 p7 j  B+ }5 f0 e  [之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-3 22:50 , Processed in 0.014962 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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