设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7233|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
9 J! ^4 N3 L; Y7 B
- u2 A/ C) I5 |+ d7 C" O但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。) l( u/ l5 a3 d' C( X8 e) a: M
7 n! H& v) q2 [2 b) I; Y8 t
turtles-own [a b c d k f g h) D( |& T" V; J) \
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle " s; T  w! [, i. W% _: d8 {
]) I- X& I5 O9 z/ H( \- s
to new
9 b3 X1 u$ I$ e5 ^0 b* r  ca
. q8 C' F3 N( [! {+ x) ?; Q- f  crt 5 * num_of_building* E, ?( R, i* A/ H. d- q( k
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
+ ], B2 G: i8 ]5 x2 C# W- x; U  scatter     ;;keep center-turtle random positions
+ p8 l; {/ e# R# x% h' S3 q  unit_plan   ;;make up the building plan6 V9 G  e6 l; E! ]
end) ?. f, e% y0 z7 Y" w' U( P6 m
to scatter7 _, u' b. X, Z6 Z
ask turtles with [remainder who 5 = 0]
3 J) V. R0 G/ A[5 h% ]8 w0 L2 ]. j* b3 F
set xcor xcor - 6 + random-float 15! U+ p7 j" b% b9 W
set ycor ycor - 6 + random-float 15; Z0 L3 U0 W8 w
]
5 V. Z' Q, N) Cend
1 ], R# E+ i8 i, R: Hto unit_plan 4 f) ~/ Z  m. v6 y2 I( c
ask turtles [& y6 u) ?: p4 D
if (remainder who 5 = 1) [set a who
1 b% \. n3 @7 a  W" p; P/ S" V                          set x ( 0 - Wid / 2 )
' ~6 `% t- j4 h% }3 L0 j/ D                          set y  Dep / 2 ]
) C% N6 g3 X; e" K" q* l           set b  int (a / 5) * 5
- m  E; y# j) v& u    setxy ( xcor-of turtle b + x )
& t# q; Z0 ]" f# O          ( ycor-of turtle b + y )
* ~5 |, j1 W( zif (remainder who 5 = 2) [set c who* z' h0 s  n5 G+ F* u* K
                          set x ( 0 - Wid / 2 )
' L6 I( Y" S0 P                          set y (0 - Dep / 2 )  ]
/ i% l6 q8 W2 R  y9 A6 r* E5 X                          set d int (c / 5) * 5' t+ T+ i/ Z7 P4 J$ w+ K
   setxy   ( xcor-of turtle d + x )/ n/ q4 c! t9 O! P# E* j# c
           (ycor-of turtle d + y ) ! c$ ]& ]4 M4 N* q
         
9 `! N# t# H% @' h            6 G: j+ j5 P2 m
if (remainder who 5 = 3) [set k who
4 P  l3 G3 F5 D0 s7 n7 j8 l                          set x( Wid / 2)  
. f0 b+ K5 U% L                          set y (0 - Dep / 2 ) ]6 N9 i) j' b0 B; X) D8 d
                          set f int (k / 5) * 5
" g9 A  ~5 b( X7 z- \2 }  setxy   ( xcor-of turtle f + x )
7 V$ a3 `% q# z3 a6 D/ f1 Z9 _) j6 q           (ycor-of turtle f + y ) 2 j6 C- P/ K6 S, l
           
& K2 k" F+ F* C- J: {) _           
9 I4 h5 x1 F  _# o8 B3 eif (remainder who 5 = 4) [set g who
# f/ u" l  n* d/ V' T                          set x Wid / 2
6 L5 t# \0 s5 [9 @& k; X                          set y  Dep / 2 ]
; \- G9 G' l% E; o' _                          set h  int (g / 5) * 5+ n* z: K/ R1 U
  setxy   ( xcor-of turtle h + x )
, ]6 P( o  A  X6 g           (ycor-of turtle h + y )   P1 l" O9 I1 D& D/ l
                          
/ [" f  U2 @+ b7 k                          
. P% B  t* {+ E4 E: ~/ p9 b$ R                          ]
& o& k. ?% t: Vend
3 c0 P% D) W+ b5 [2 n
) v; ^2 j: s/ t. p" _[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
" q# }0 u6 a+ _7 `, M7 N0 a应该是. z# E$ @* ?5 U/ T9 i. x" }
ask turtles [
' K1 t0 r5 O7 C% @7 E$ }if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) `% L) E# m+ J
                          set y  Dep / 2 ; `: F2 D2 Y& A8 C5 t% r% J
           set b  int (who / 5) * 5
  x8 u  g& Q$ s0 W    setxy ( xcor-of turtle b + x )
' R1 Y' u7 ?7 c/ `0 C1 x          ( ycor-of turtle b + y )]]
4 \! j$ D( }7 i8 K/ i/ U8 B9 Gend
) O) J! L1 `4 w0 B$ _之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-19 18:22 , Processed in 0.017143 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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