设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8508|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
! }, M( f6 {9 ?$ a. u5 J; V
$ U9 n1 \0 j- H* X1 H但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
: \; _6 [4 r* W! o, d) J" G5 C
* b# m4 r8 ?- \turtles-own [a b c d k f g h
; o% W( e9 a% i* H$ F' \  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
( r) M% P, Z. O3 C]
2 t1 `) c, V! G+ Z5 V4 \  sto new, u: P0 h+ w1 R5 y& `. Q+ _
  ca
1 Z# U+ _' r3 o  D  crt 5 * num_of_building! b7 Q1 m. R/ D5 |0 w
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
7 _' x5 h6 t4 b3 T0 |: x; @  scatter     ;;keep center-turtle random positions
+ P  }9 q3 x8 g' {  unit_plan   ;;make up the building plan
. b8 p6 a: e: Wend+ ~- K$ T8 W6 q
to scatter0 I" C: b4 a, K% K" o
ask turtles with [remainder who 5 = 0]+ e9 @  G, a8 @& J: N
[
6 V3 P. K$ o3 K0 {8 T8 o- nset xcor xcor - 6 + random-float 15
! u/ y+ m- a7 I* R/ n( J  L1 w% wset ycor ycor - 6 + random-float 15
% }. ~6 l2 F% o5 [5 f; f% ^]0 P% _6 h! l5 |6 x
end
) ]- q3 t8 q3 y  X/ d! E3 h( Ito unit_plan : l$ y" q! k2 O$ h( m% w8 h' g* {
ask turtles [% P# f; I8 M8 u8 o7 \; b4 `. F8 b1 G
if (remainder who 5 = 1) [set a who
' h2 }3 X/ H2 p. h, W" C- c                          set x ( 0 - Wid / 2 ) 5 @0 u5 x4 i2 ^
                          set y  Dep / 2 ]
+ Q: g; |8 e! e           set b  int (a / 5) * 5
2 T# R4 l6 S* a7 I* P6 n    setxy ( xcor-of turtle b + x )
9 M2 `( S8 S) H1 y: I' M          ( ycor-of turtle b + y )
6 ?0 m# g8 f" \% ^) k  j# j3 `if (remainder who 5 = 2) [set c who
0 A# O' |% m9 A0 o                          set x ( 0 - Wid / 2 ) 1 ^& m2 A  ?7 s7 k; v4 C- P
                          set y (0 - Dep / 2 )  ]0 H! h$ ]% f4 ?( G, [! V4 @; P! H, Q
                          set d int (c / 5) * 55 l% `* p. s1 a& k6 ]
   setxy   ( xcor-of turtle d + x )* Z1 \  u' L3 m3 y: y$ ^) M
           (ycor-of turtle d + y ) & |. ~: n+ b$ {1 ]" N
          : {/ v: Q( E# T7 b* ~3 w& d
            
# h! o* o+ ?* G, ^3 o4 m! mif (remainder who 5 = 3) [set k who
. x3 A- V# a  A+ e0 F- A                          set x( Wid / 2)  2 u" ]4 L+ M! u4 D
                          set y (0 - Dep / 2 ) ]
1 X' T0 ~8 s- u2 `* Q                          set f int (k / 5) * 5
, l: S; t$ o/ C) D+ e) u  setxy   ( xcor-of turtle f + x )
$ m0 m6 y9 L, T           (ycor-of turtle f + y )
% }' h9 ^% w7 [& J           4 o  C+ N1 U! n$ Q
           
6 W. i7 ~4 x6 [! w/ eif (remainder who 5 = 4) [set g who
) n/ l6 X3 ^1 n                          set x Wid / 2
6 k" {* I: e" P0 R, F: ^, R( q                          set y  Dep / 2 ]
5 k$ u( g7 m5 o7 p( V$ v- A- a                          set h  int (g / 5) * 5
6 x) H6 b$ ]3 X" x  setxy   ( xcor-of turtle h + x )$ K6 F, W" H4 j5 B' S
           (ycor-of turtle h + y ) 0 v8 o0 R) o4 L
                          
" m9 N2 q# W1 R; ^                          
7 I1 K  A+ M2 q* b                          ]
8 w+ a* i) w1 B4 P- [: Pend2 ^9 |0 W3 G0 L- ~

; I: T; k+ o8 E& c[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
$ F1 T: g' P/ `2 q% M应该是
3 X" f+ \1 @( z  @ask turtles [
' B3 z7 m3 H7 B: C0 yif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
' r1 _: D5 ^3 i, @8 @$ j0 J& W                          set y  Dep / 2
, X% K- w" s3 o6 h: \# R& W; x) K           set b  int (who / 5) * 50 }- d+ Q0 ~( ], N! d: n0 }3 [
    setxy ( xcor-of turtle b + x )
0 q+ k# p1 w) H$ U' ~          ( ycor-of turtle b + y )]]( E# K. X5 p* R( W  }" L  ?
end
$ z& |5 R1 y# ?- ]' V" v) A" G/ _之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-7 20:47 , Processed in 0.015843 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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