设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7446|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
+ I, f. S( V" ]7 l( w
/ A9 a2 ^. a; y' t但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。" ?- x$ z" I" i" M. o

) o2 n* T1 l# v+ t. Yturtles-own [a b c d k f g h: ^3 ?' E4 i0 W- f" |# C# r6 t+ r
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
- S7 i2 T0 e  V7 `' L]. n) N; m) m5 U' c% O7 P8 }
to new  [; d2 |$ G; {- b& I& B6 y
  ca
, y& ~" K5 h9 b4 H# F, A  crt 5 * num_of_building
7 q9 _4 B2 D: r  ^5 t  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
+ O2 J; ]9 ~% p5 g% _/ r2 L  scatter     ;;keep center-turtle random positions 1 X$ l" u- j( p
  unit_plan   ;;make up the building plan/ e4 C' A4 R) a' ~' m9 }- T( ~, _
end
) X0 f5 O0 A$ s" C: f4 mto scatter
' q0 Q0 D% `4 J" ]1 P: Rask turtles with [remainder who 5 = 0]: V' t- D2 }8 T& x6 ^
[2 N1 ]; [) N3 h' F
set xcor xcor - 6 + random-float 15
* {, \# M! p( J+ fset ycor ycor - 6 + random-float 15+ x; k3 j* e: i6 @! p+ _
]
: K" z9 E& t1 k3 z- i. Rend# j' E& @! f+ ?$ D' }8 F
to unit_plan
' h; [& D* G5 ~/ sask turtles [
' S7 j$ N9 A9 E1 f! zif (remainder who 5 = 1) [set a who
( H4 ^$ i5 A+ A9 a                          set x ( 0 - Wid / 2 ) 6 v( g) O$ j0 s* y" _6 r9 o+ W4 l
                          set y  Dep / 2 ]9 Y. \9 a( `% x1 K, H9 |, m
           set b  int (a / 5) * 5
# H1 J8 g% F. x& q! V    setxy ( xcor-of turtle b + x )7 l8 v' k  H9 H: S# Z8 f
          ( ycor-of turtle b + y )" T0 f; g8 _  K. W- o" {+ [
if (remainder who 5 = 2) [set c who) `& `" f& ^( [2 O
                          set x ( 0 - Wid / 2 ) & Q0 F8 K4 Q% ]. P8 q
                          set y (0 - Dep / 2 )  ]
" I1 r. S/ D1 \- g! w5 C+ t9 U- z                          set d int (c / 5) * 5
9 M" A& \% c3 F2 v2 Z   setxy   ( xcor-of turtle d + x )
6 ~& v2 K- @; R$ V           (ycor-of turtle d + y ) - I1 s% @# v$ F- ~! k# ]
         
; G  e- e  `: ?# z            
- C+ D* {* \0 I& ?if (remainder who 5 = 3) [set k who% D! |# n" J/ U& o
                          set x( Wid / 2)  ; O; f0 a& ^. ~. x* D
                          set y (0 - Dep / 2 ) ]/ W7 k9 o6 F3 h4 v6 E; I
                          set f int (k / 5) * 5* z! y* f& ?$ B0 d( ~
  setxy   ( xcor-of turtle f + x )
6 p, a8 m/ G; X( A( c, x           (ycor-of turtle f + y ) : G# c0 H) o- s0 B- I
           
' P3 k. F4 d# k& F! J+ N8 |) g           
2 O% W" g) u. W6 R9 R2 ^if (remainder who 5 = 4) [set g who
+ J* x4 R  o; D0 ?3 E! j# q                          set x Wid / 2 5 H* V8 V7 u$ F  O& V
                          set y  Dep / 2 ]
+ g! ^4 K" Y8 r# c5 T                          set h  int (g / 5) * 5
1 ]3 J, t4 i) l* i% f  setxy   ( xcor-of turtle h + x )
$ D2 v% O/ ~! ~3 M) F' K' r           (ycor-of turtle h + y ) 6 V8 ]& _8 ?: k+ H" w4 p/ B
                          + _) t; ~  s3 v. k; V
                          
9 o! k: I4 E: J& P5 L, E! P# ?                          ]" U+ [4 h- A  ]9 T6 L4 M" w) }/ V
end7 w4 F1 R( t, Z9 M5 u

3 G4 ]" b' e# c' c[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,' V# x* T, m: ], L$ B
应该是
+ g# ?% N0 o' p. ]ask turtles [! h( @% X9 C! W4 |
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
2 H2 |  D- M- z                          set y  Dep / 2 , i/ x7 t8 T0 c& n2 }
           set b  int (who / 5) * 5
) E- e- g2 D9 _" j( I0 ~* P) C    setxy ( xcor-of turtle b + x )) O% z, T5 ?  Y( |' ~, w. @5 l
          ( ycor-of turtle b + y )]]
# [: n, G3 I- u* a& @& X! O9 bend: P9 F7 V3 X  n3 Y" z5 c" i# e  V
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-12 07:34 , Processed in 0.019525 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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