设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6834|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
2 L7 b0 l9 s3 ?- c" ?( v! U+ {- J
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。9 s) h: q0 u( e' |% b$ E

) O- r4 B* q/ {% A$ l" b) p/ aturtles-own [a b c d k f g h" e3 p7 r; q; F: _" m- b3 {
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle $ n2 X$ P6 _6 a4 Y  {
]
+ X! G5 D. \1 E" ~9 K- Dto new
; m- m1 S! S0 u  ca
: s" H0 o: Z) a# W7 a3 [0 K; f' q* Q1 R  crt 5 * num_of_building
# }8 F8 n* ~3 \$ }) l: w3 P  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
  ?) ~  H: f, E" q% @9 \& Y+ I  scatter     ;;keep center-turtle random positions
  A9 J9 `4 p, l! B! p5 O3 q  unit_plan   ;;make up the building plan, P7 u7 \6 R- |# [% s7 |2 l5 w
end( U2 `' M- [1 w$ r  d1 y
to scatter
& `% S, a0 N9 a% T- [ask turtles with [remainder who 5 = 0]. A. C' V% a; C
[$ Z% z* p) G% [2 n) \
set xcor xcor - 6 + random-float 153 h) J. A$ x: C1 I0 G  k
set ycor ycor - 6 + random-float 15
9 B& [4 [( w% _) s( x! L/ D2 `& h, G]1 A; y9 k) O9 S
end
0 x+ _5 u! X; [. Hto unit_plan
; G/ }+ P1 T/ U4 f4 L' g8 Yask turtles [! u6 f) h. C. Q
if (remainder who 5 = 1) [set a who 9 [0 e) n& W' V" G
                          set x ( 0 - Wid / 2 )
  o% j5 V/ A0 f% v9 i                          set y  Dep / 2 ]
3 a! F7 G7 y, W, ~% Z0 f3 a           set b  int (a / 5) * 59 p3 b& \: r( v( L3 Q# p: N
    setxy ( xcor-of turtle b + x )
& w6 h. k4 @+ O6 p7 q; Z* Z. W1 j          ( ycor-of turtle b + y )
' }- }0 i- Y& D! iif (remainder who 5 = 2) [set c who/ H% L+ d5 O" {8 |, k
                          set x ( 0 - Wid / 2 ) 1 c/ `4 y- Q6 q7 Q
                          set y (0 - Dep / 2 )  ]
% y8 _7 m: V4 X( l& p3 ^/ {& G                          set d int (c / 5) * 5
) ?; m7 A' j' J3 I2 z   setxy   ( xcor-of turtle d + x )' h) m0 Y$ z9 W5 P1 Y
           (ycor-of turtle d + y ) , G$ f9 ^7 e' s' v, r1 A6 P
         
( e& u/ e# q+ X# e            
0 x/ [- X' G5 a" N) z4 Eif (remainder who 5 = 3) [set k who/ a5 x- t2 e& }7 w$ ~
                          set x( Wid / 2)  % K" P5 J7 d& j: {9 K. C
                          set y (0 - Dep / 2 ) ]; M: R: l5 w8 s2 k: d' E
                          set f int (k / 5) * 5
  a, I; Z$ H8 f" ]7 L" S, ?' ~7 T- f  setxy   ( xcor-of turtle f + x )1 h" j- K: A' q% Y4 u; l' S+ k
           (ycor-of turtle f + y )
" G$ u8 \3 I: H6 Z# {5 e5 n           " V, L& r0 |* [  X# c* h
           
6 O0 \% h/ a- y- fif (remainder who 5 = 4) [set g who) Q5 g4 b0 J: _* {
                          set x Wid / 2
  t" m. m0 A4 x0 Z% [. {& p: t7 I; e                          set y  Dep / 2 ]% N- {5 E. H, i. o- y2 G9 w
                          set h  int (g / 5) * 5
% {0 K$ p0 d9 K9 C$ {! c  setxy   ( xcor-of turtle h + x )9 h0 t* L& J9 K$ x
           (ycor-of turtle h + y ) 1 J2 a, X: l9 I# b9 l. J9 U# Z
                          
- q' c( r  ]8 A8 ?1 T9 A                          
5 }3 F) R, w4 G                          ]& m1 \5 z3 h6 F
end0 O7 R) r2 k- i( j% \3 @1 w, ?

5 V, _& A9 ~- P. X7 F$ O[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! p# d4 P! Y) ~; W% [1 |; s
应该是% M1 F% E1 v. R6 E$ v
ask turtles [
0 x9 h0 y/ a0 m) sif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 k/ W1 Y+ V7 I                          set y  Dep / 2 ! [: i/ C  r; \
           set b  int (who / 5) * 5  U" ~: y( R( V9 z2 M/ A2 w7 G( [: l
    setxy ( xcor-of turtle b + x )
0 W; _" T- S# a          ( ycor-of turtle b + y )]]
9 \3 _9 y( P5 Y) dend
6 t" }5 Z( t( I" ?0 L* {& h之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-27 11:27 , Processed in 0.015109 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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