设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8299|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。, B2 S% Q6 n$ Q/ n3 I  n' Q" a2 }

* E( p. v1 W2 S5 |8 a& m$ O但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
, c3 d$ h  Q, @5 K5 t: N; k* K
3 O; z( \" G) Z# jturtles-own [a b c d k f g h. k! ^3 L$ r: F! Q( m
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle # A6 ?3 P, B% K/ o+ I/ @) \
]
9 L3 k/ m2 O- P4 Ato new
9 c. |% o9 G+ y7 D7 F  ca: P8 t! [  _, B! ]4 w
  crt 5 * num_of_building
8 c% r# m9 E; r5 H! X  G  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
9 t# X; G- p7 M8 T1 d8 w/ E  Q  scatter     ;;keep center-turtle random positions
. s8 b, |( v) F$ k/ f: W  unit_plan   ;;make up the building plan
& N& i4 Z7 [0 T6 s5 {  q! Fend1 W  s, y& X& ~6 I% d7 q+ ]& d& w
to scatter
% A( Z& Y1 ]" M- N1 Cask turtles with [remainder who 5 = 0]
% t6 r# q3 e7 G0 T, e9 d5 s: e[* Y" t4 v" G0 k" e, Q
set xcor xcor - 6 + random-float 15
8 ]  e  |/ v+ g) K+ Y+ W0 Qset ycor ycor - 6 + random-float 15+ y7 g( T9 A+ ^# v- k7 p
]
: [3 a8 e9 u9 r# Xend
3 S# T9 Y, D; r7 K! Q7 y( vto unit_plan
  y$ p: t8 f2 J. y2 `( N, W+ V: G- [ask turtles [
4 v2 u+ X( {7 u2 I. Kif (remainder who 5 = 1) [set a who . l- d; _+ L0 |* V- N
                          set x ( 0 - Wid / 2 )
& ], m$ ]4 w0 w4 @                          set y  Dep / 2 ]& X! F( p4 W! _/ ~5 {' |6 P
           set b  int (a / 5) * 5) m, w1 a7 L8 N8 N9 O& S
    setxy ( xcor-of turtle b + x )# }5 q- T, |& y* Y7 I) y
          ( ycor-of turtle b + y )) i* N& L* `# f; f" g7 F
if (remainder who 5 = 2) [set c who' q- `6 \( a1 S, w
                          set x ( 0 - Wid / 2 ) / B: G+ C; A" K* Z" K) Q% k5 C5 ^
                          set y (0 - Dep / 2 )  ]
: a: {% p7 I0 w' W# V8 r, y                          set d int (c / 5) * 5
) N4 d+ G, M0 Q- n* K: g4 h, I  d1 l- k& m2 W   setxy   ( xcor-of turtle d + x )8 a- g& f2 l! I$ Z- x: h. C
           (ycor-of turtle d + y ) . x4 l( l$ D2 R' y4 X) ~. G
          - b- ]+ R# E7 j+ V, b2 f8 t9 j; S
            & ?  P7 Q# X: v* m6 M& Z  f
if (remainder who 5 = 3) [set k who( m: P7 i$ ?) l3 Q% R( ~6 B
                          set x( Wid / 2)  % e% I( j5 w  M) u1 r, x
                          set y (0 - Dep / 2 ) ]
& l) N9 H6 N+ ~                          set f int (k / 5) * 5* t' U7 _+ V3 y. ~
  setxy   ( xcor-of turtle f + x )9 {1 I/ X. N) G8 i2 V" `
           (ycor-of turtle f + y )
- o# v1 [9 v2 g. ]& k. ]6 j5 H           4 W  `7 n- M  y
           ( L$ {; D" f& S8 C& [; {( B6 i" n
if (remainder who 5 = 4) [set g who3 H' L4 d$ H0 N) f
                          set x Wid / 2 ( f$ J( l6 E' d
                          set y  Dep / 2 ]/ v  \9 s8 r( i# e" B' \# a; A
                          set h  int (g / 5) * 5' b6 M2 |( l) ]- W: C: H
  setxy   ( xcor-of turtle h + x )# z: ~  [4 T9 h4 t( a" {7 Y; d
           (ycor-of turtle h + y )
$ ?0 E$ s+ e9 A' g                          
8 R- F* T+ [5 E; n2 @                          0 I) K! W; K" j' l
                          ]  T' H* o$ o1 w" @  X, ?" ]
end
2 @2 O0 K4 x) U7 H! R0 B& R% w$ d- E! ~, V
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
; n/ h6 E( z4 P/ s- @8 h! T: Y$ Q. r应该是
. p/ T3 @/ Z9 z4 xask turtles [5 C/ G6 a" n) T4 Y% Z& B& b' m
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 0 |) R( C- \2 F, _
                          set y  Dep / 2
2 t: e8 B7 v8 y1 L# D) f. H           set b  int (who / 5) * 5# q. Z, v; ?; y: j& i% g
    setxy ( xcor-of turtle b + x )& Q0 W# R9 A3 ^/ s% [8 R. W, D
          ( ycor-of turtle b + y )]]
8 S0 f9 g: y# E  ]+ {. ^end
3 J4 A% l. J5 \/ X1 B9 J* l+ i$ Z  b之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-3 09:15 , Processed in 0.015743 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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