设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7780|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
/ {% L7 J1 C$ Z0 E, p, b& e+ C$ R- t3 Y0 V
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。0 }  J& x# ]9 w; ^9 {9 l$ x+ m

& W+ A8 Q& @. w! }3 I: N  [9 \: Dturtles-own [a b c d k f g h9 M& w( G2 K- d0 B2 t) E9 R2 |
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 8 g4 ]$ [& h2 e% \' d) B; I
]
1 e$ H" m1 b" B' P4 \to new
. n2 f& P1 d' X* Z  V2 i  ca
7 u3 v) T" L: _8 m  crt 5 * num_of_building. X5 f; ?: Y( f8 K6 F
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]  k3 M1 Q" R1 Z
  scatter     ;;keep center-turtle random positions
6 J* ^8 r! t$ I* S- l! k  z  unit_plan   ;;make up the building plan
3 l- J) X" ?' Rend2 K( T5 I" l/ _6 F  _% `) b
to scatter" P: W( Y1 {4 ~  l- \
ask turtles with [remainder who 5 = 0]
9 G; h6 ^3 r( {[5 K0 P- n5 s) w7 o
set xcor xcor - 6 + random-float 15* b1 P1 l; \) d3 i
set ycor ycor - 6 + random-float 15
: O; F6 A  v) N! x" B( A; \6 j]
: i. j0 C" |$ N2 _' s9 V3 yend# v" A' u4 q$ O
to unit_plan " X# e9 ^* ~  c! G, Y+ z
ask turtles [: Y# G7 q4 K- {, [; C
if (remainder who 5 = 1) [set a who ) V1 [) q9 U! {% h
                          set x ( 0 - Wid / 2 ) 9 K  w. m- J5 u7 S1 L( @5 Z2 u
                          set y  Dep / 2 ]+ U- J3 X8 l4 h2 g3 d2 _6 O7 S
           set b  int (a / 5) * 5
" b0 M  D* O1 j4 Q8 }    setxy ( xcor-of turtle b + x )
% u8 f" q5 D1 i6 B          ( ycor-of turtle b + y )
9 N/ g0 e7 U5 B+ Q& q6 f  `if (remainder who 5 = 2) [set c who
1 l4 u0 I! S% z- i" Q                          set x ( 0 - Wid / 2 )
' W6 a, J: W0 q  a4 R' I3 ]                          set y (0 - Dep / 2 )  ]
* ~, o" v% i2 j) `                          set d int (c / 5) * 5
+ X' y7 }' R9 X( J* d   setxy   ( xcor-of turtle d + x )
0 p& v& _: j& [$ t           (ycor-of turtle d + y )
9 r; T3 @. x/ O& D- o" ^0 x/ Z         
+ s! u4 y/ p7 D6 \            
$ P2 a# H/ D0 A! }$ q' i' Kif (remainder who 5 = 3) [set k who& E. j. @/ c  D
                          set x( Wid / 2)  
$ @' c6 _, Z4 _% ]5 J: @9 q                          set y (0 - Dep / 2 ) ]
# ~. n8 B; Q1 V                          set f int (k / 5) * 5
0 j# G- B. j+ q  setxy   ( xcor-of turtle f + x )9 g9 P0 z2 t% g1 P
           (ycor-of turtle f + y )
9 Z- }( p7 o7 N/ n% ~3 B# s           
5 V  S, U6 E, J6 g           
/ _" [9 o7 ^( x3 E& n# O" cif (remainder who 5 = 4) [set g who" B/ r7 r0 V9 X+ D- C/ u
                          set x Wid / 2
# B+ @: M* t3 @5 k* R2 a8 j  w                          set y  Dep / 2 ]
1 R& O* v) O" m; k8 S3 ^6 }                          set h  int (g / 5) * 5
+ |0 a, t3 x9 Z: x8 b% ^% b, K; r3 P  setxy   ( xcor-of turtle h + x )  T- l* @7 V: j) y4 z7 c
           (ycor-of turtle h + y )
9 U1 v& w9 i1 A# W: U                          
% c# Z. i1 \8 T3 v; M0 s3 l& r8 C                          
1 _7 Q4 J5 R$ X1 \0 V' d5 @, a                          ]% v% O: i8 l4 _* g  X7 G
end* b7 d6 H4 H' Z& A+ Q" Q5 ^. f

) v* j7 ?8 b4 @+ a[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
+ D! z  u; v0 H; _* T! n9 n7 a应该是
2 k* Y* n! h5 e! g7 Oask turtles [& W7 s/ i2 T6 W7 D
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
6 Q) n, U$ S1 d6 ^% A                          set y  Dep / 2 ) H- X" \0 c; F# F
           set b  int (who / 5) * 5
0 \+ A; W, M# P. T/ m" y1 g6 J    setxy ( xcor-of turtle b + x )
' |% `! W- g4 M; h( J; ~          ( ycor-of turtle b + y )]]* j# u6 w# ^& E4 R' g& N
end3 i1 M4 E( S! F, U8 F' V; ]  z- F
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-30 14:42 , Processed in 0.018291 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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