设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7927|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。  e+ N+ n- L. `
9 [5 I& I7 M+ X
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。) Q; |2 @0 g# k1 Q
0 i; ~2 X0 r! Q8 t9 u4 ]; e1 l
turtles-own [a b c d k f g h
; t8 {& m& s! x* W3 ^! D' ]9 J  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
. i* M/ Y# p% a4 g8 I]
7 C' Z3 C! d* Gto new- c+ x6 V9 ^. m' [  ]
  ca
: t+ S* I  s0 g. @  crt 5 * num_of_building
4 F6 [1 X0 R, n2 F# ]4 Q  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
$ G; @( P5 j% v  n( G3 f  scatter     ;;keep center-turtle random positions 3 z8 E& g% z: \9 h
  unit_plan   ;;make up the building plan- R: F( i& j' H* N: U
end
; G: t& p: d+ Z+ P5 s* Lto scatter
: g) v" ^2 B0 g1 Fask turtles with [remainder who 5 = 0]
2 v5 T* q7 [0 g( @  D9 Q[
5 D& }" c' [8 |; R& ^: Qset xcor xcor - 6 + random-float 15
1 {3 F7 D2 }- aset ycor ycor - 6 + random-float 151 I8 [5 s; |" l% s( A8 t" U! C/ M% Y( R
]
+ B- o( d. u; D4 N9 h2 Pend* |$ x0 C1 V$ R; O& m# T# K
to unit_plan & u  X6 ?6 i( s3 ^  f7 o1 p3 [& ~
ask turtles [
! w3 R7 @7 ]3 z! e& s. ~if (remainder who 5 = 1) [set a who   c0 l. Q# K7 ^* r4 U5 z
                          set x ( 0 - Wid / 2 )
8 k6 u+ e5 r/ n/ Q3 p                          set y  Dep / 2 ]
8 Q; v* _. N' K5 a           set b  int (a / 5) * 5
: n4 x+ m8 a8 y$ t    setxy ( xcor-of turtle b + x )4 {- f+ Y: @9 i2 M4 E: X
          ( ycor-of turtle b + y )% \( @7 g$ N; N  K  h
if (remainder who 5 = 2) [set c who0 @, a3 o! j5 r9 V
                          set x ( 0 - Wid / 2 )
# y5 F, v  n0 i  @5 a& I                          set y (0 - Dep / 2 )  ]
7 g2 a$ H# p) K6 e" t                          set d int (c / 5) * 5
5 g3 g1 A- A; g% ?; _   setxy   ( xcor-of turtle d + x )8 x0 ^% Y1 ?, Y. c  y! I
           (ycor-of turtle d + y )
* `& j2 o7 Z- X* ?5 G# [9 b          ' J- S) ~/ ^* p3 v
            
6 |6 C2 c/ e1 q) |" Z, V" dif (remainder who 5 = 3) [set k who7 Z2 J6 x  r% W4 g% y' N
                          set x( Wid / 2)  ! P8 y3 f% \1 |6 p/ @; _' W
                          set y (0 - Dep / 2 ) ]
1 {6 s5 s- G1 U8 k8 D                          set f int (k / 5) * 5
$ {; P$ K$ ^" p6 q  setxy   ( xcor-of turtle f + x )* q6 T2 @& r2 `! s, D" {: H/ R- x9 a
           (ycor-of turtle f + y ) / |6 G* i: Z% _
           
+ @$ M! U5 ?1 N; T* N* S; n           
& n* p. [% M' g. N- F2 v" j% ]if (remainder who 5 = 4) [set g who
, @6 g2 R. v9 \: ]/ q) f' k; g. z                          set x Wid / 2 5 {/ @1 W8 r* Z( F7 r# n
                          set y  Dep / 2 ]
  z5 @% ~$ p, R; O                          set h  int (g / 5) * 5
! _" q) q8 F/ t  setxy   ( xcor-of turtle h + x )
/ @) M. R; s  v: C9 S           (ycor-of turtle h + y )
7 d9 V" \, y; U& H                          ' p9 W! D' O4 z) J
                          2 f, t' n, }- ]
                          ]6 m( ^( @' P* Q+ {# ~
end% O4 [7 ^1 P; B9 C& H; W
& M* i/ ^% e/ F: d* h- }/ ]1 F
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 R5 x1 M% h+ m5 a2 A
应该是
7 H! C. [, K9 k! s* b1 s2 N! Task turtles [7 q' P; R& Y9 R3 S4 ]" B
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
$ A% N$ C% L* L' \! C                          set y  Dep / 2
' h! Z6 G  O5 [4 o/ r# F! S           set b  int (who / 5) * 5  R8 q' Y" b1 {" z
    setxy ( xcor-of turtle b + x )
8 B/ g- p, l; S, C# p: W$ k          ( ycor-of turtle b + y )]]
; D3 u. E$ M1 [5 o$ e; w/ p$ |. Xend
8 b4 ?, c$ q5 v1 ~4 J( i( j* d) x- L之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-18 23:54 , Processed in 0.024532 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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