设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7702|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
8 _3 F5 n( E% \8 G' p+ @
& S4 [0 R2 F: Y, C但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' s6 P8 X5 l3 M$ D0 E5 ]3 G

# q& N9 e/ K6 G8 D  X: N1 a! B) cturtles-own [a b c d k f g h0 I, @2 X$ _. f; p
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: U6 q& {: o4 `, q]  o# H" N, d# e2 l: {: H4 _! S
to new  U4 M) I- J% ]' N$ j
  ca+ h9 L1 H7 d: q: w' I2 m
  crt 5 * num_of_building
1 K; B; D* W1 K. q9 r1 z! ]. v  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]/ A7 _8 P* Y) O+ w
  scatter     ;;keep center-turtle random positions 3 K  H6 X2 |1 G4 }! C- Q
  unit_plan   ;;make up the building plan
  l, B; Q+ f4 [; ~" M9 wend
! s/ L3 P  l) e) {& p& yto scatter- n9 O! c0 `' r7 R: h9 b
ask turtles with [remainder who 5 = 0]
4 T. E9 B* c- T- s5 @[
: S3 C  Y' f, @+ h0 xset xcor xcor - 6 + random-float 156 G' \- @& i6 f
set ycor ycor - 6 + random-float 156 u6 s7 C/ ]. t8 ^# _+ q
]- O4 x( m/ {0 b4 P! U9 t9 N$ s% Z
end. [0 e3 J2 F8 I( B7 o
to unit_plan
; `% n( g4 W2 ?) p# U; Qask turtles [' V" z9 K7 q5 d& O; y
if (remainder who 5 = 1) [set a who 2 c! k6 ]+ L% ^8 E- ~& ]
                          set x ( 0 - Wid / 2 )
4 @* s9 u6 B9 }  ^" x& z8 @                          set y  Dep / 2 ]; ?' _# B/ |5 E1 E
           set b  int (a / 5) * 5! G: j% A: W3 x# k* x& m, S
    setxy ( xcor-of turtle b + x )
/ d7 D& T/ ]* i. ~          ( ycor-of turtle b + y )
' x# m8 \6 ?- W/ G; l; Q9 wif (remainder who 5 = 2) [set c who1 s  D4 x( v% O, [8 h9 B4 ~$ p3 B+ ~
                          set x ( 0 - Wid / 2 )
( p3 {" _* {# w6 `* b                          set y (0 - Dep / 2 )  ]4 B3 p0 b8 h; {7 Q( m) l5 T
                          set d int (c / 5) * 5  o: O  M5 X" r, |5 H
   setxy   ( xcor-of turtle d + x )5 x5 w: c9 U( t. ]# c- K
           (ycor-of turtle d + y ) % K' J4 {4 Y' t; R
         
" w8 E; W; ^* K2 n, Z' M( s  N& t            ! K7 }+ J$ S& m" x  U& Q
if (remainder who 5 = 3) [set k who" z7 p: d+ F6 S" f- M1 t
                          set x( Wid / 2)  
4 X" L6 U$ T$ _2 B0 o0 Z                          set y (0 - Dep / 2 ) ]8 D5 M* G7 P# p1 G* E
                          set f int (k / 5) * 59 r9 ^9 w/ a* `2 D! l1 T
  setxy   ( xcor-of turtle f + x )( Y/ y& h, |% C; M$ C# T4 ]% ~  A
           (ycor-of turtle f + y )   R! S$ R2 g5 W( E
           
* J- n& @+ L$ H7 _/ O; F4 e+ j  D           1 a' \; ?$ H/ q0 M/ I  d# b+ [: p7 I
if (remainder who 5 = 4) [set g who- Y+ G( j) @  T. I! v
                          set x Wid / 2 8 }7 A9 d) W( b$ q( K, O+ J* r
                          set y  Dep / 2 ]' Q/ n" @: ]5 O) Q. B
                          set h  int (g / 5) * 58 \3 u2 u2 X; Q# R1 N6 b3 T% M
  setxy   ( xcor-of turtle h + x )1 |) Y1 P4 {/ B, ?6 g9 b9 A
           (ycor-of turtle h + y ) : ^, H; |& H( p* h: t
                          ; V2 D( I5 m: ~: t, S" `/ G
                          ' ?1 F# D8 o  u: p+ A# T1 e+ P# m
                          ]' W% X; d. c. X( v
end1 y: Y. G# f1 b" ]# F0 T
4 T* P; F; v0 n. ]# X9 c
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,4 U3 u- ~, N) q  V4 P; x7 f
应该是# M* {% I0 n% E+ }
ask turtles [
! A8 c+ _8 z+ q/ L, A4 c4 G8 g( u' N9 wif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ! p1 u  a. {4 n+ Y
                          set y  Dep / 2
1 m  W/ ~* y* X9 s0 [           set b  int (who / 5) * 5
7 d( a7 ?. c3 U6 [    setxy ( xcor-of turtle b + x )6 w- d' T0 h8 W7 l5 V# a5 O9 J
          ( ycor-of turtle b + y )]]
  r3 @4 R- V4 o1 g( ^end
8 c4 a2 F6 t! H2 D8 h! K之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 17:34 , Processed in 0.018734 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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