设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7212|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- K0 L1 q# ~0 C9 \1 H6 |! G2 q* L+ B  N
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
2 G% K1 x6 w- U, E0 J% a( L/ z/ `, Y) V. l/ W
turtles-own [a b c d k f g h4 _6 a; b. r/ V: N2 e
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! f1 t; D' V) x! i) Z  v]
+ }' s( ]* U* a( I) {, hto new
# l. s) d% A; a3 }* q8 E: O- F  m( K  ca0 ?' s+ V% [) i) C1 C
  crt 5 * num_of_building9 b! \2 O1 K0 S% }+ ^
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
8 h+ k7 U* U" z+ a, l$ F$ E" t/ i$ B  scatter     ;;keep center-turtle random positions
" T& z0 Q. D( `  unit_plan   ;;make up the building plan$ [2 j0 X4 [) F; s. x5 X3 C  N
end
/ |  J; ^) d! V% F; V/ C4 V# Sto scatter
4 U7 _8 ]4 I  ]" k# G9 kask turtles with [remainder who 5 = 0]
0 [; z% O/ a' [1 E# g8 Z& j[8 I5 b3 z( T7 H" e. y# o, _% D
set xcor xcor - 6 + random-float 15
- ]6 N3 f& a9 p  {4 ~3 zset ycor ycor - 6 + random-float 15
& U/ z/ N6 }, B, m' ?8 a: v" f]3 B6 W' N& }% l  V, I  H+ B, E
end3 C; C2 {  d* `% P
to unit_plan 6 R  Z1 R# D( j
ask turtles [5 h) s  }( l( Y( u
if (remainder who 5 = 1) [set a who
/ n& j' o4 A6 U; T                          set x ( 0 - Wid / 2 )
: L% s2 h+ M  q7 D7 b+ O+ m, b                          set y  Dep / 2 ]% M; S. c7 P5 ?
           set b  int (a / 5) * 5, N9 s, [# _& l7 L$ y
    setxy ( xcor-of turtle b + x )
, }# ?* I4 b( S# |          ( ycor-of turtle b + y )
( }1 a# L. P. W# c; G- Dif (remainder who 5 = 2) [set c who
7 f; c( S. z1 L0 d. P                          set x ( 0 - Wid / 2 ) 0 b& L( ~) K5 m- m! i+ A% e
                          set y (0 - Dep / 2 )  ]8 |) i! F( X8 E7 u) P$ [6 m% k
                          set d int (c / 5) * 5
3 ]+ Q1 J) v9 N   setxy   ( xcor-of turtle d + x )7 w3 e& v# s0 @+ j
           (ycor-of turtle d + y )
$ _* u" L* A4 P          ' {: [( z( j: U- t8 U7 j: ~
            ; r; M' S7 a& a2 ]/ C1 v8 E
if (remainder who 5 = 3) [set k who
7 ?( s" w) J" a; J                          set x( Wid / 2)  
8 P. [7 h( ]  [+ ?7 B) v$ E                          set y (0 - Dep / 2 ) ]
- {! H5 F0 O4 D& u1 C( L                          set f int (k / 5) * 54 s, q$ O' u" x0 a( W8 p, m* j6 |
  setxy   ( xcor-of turtle f + x )* E/ \+ A' f. s( I" w* e- T' K" z' B
           (ycor-of turtle f + y )
4 l7 i( B" {: F+ A6 d           
$ q! P5 ]% q) b# h4 u; P           7 M# d" X9 e6 |6 b% U# u% \
if (remainder who 5 = 4) [set g who
2 ?  s% k0 E. n                          set x Wid / 2 6 O. B; A- `+ `0 t
                          set y  Dep / 2 ]: M* j$ I/ K% s% Z% h/ l
                          set h  int (g / 5) * 51 \& U, f/ Q; \- b. {9 F" w
  setxy   ( xcor-of turtle h + x )& o8 ]  t2 o" p* ?! J
           (ycor-of turtle h + y )
+ d0 X- y9 k2 p6 @4 `                          
. \! b+ G) \7 h6 Y2 y                          
% p; l1 t( T% K: g' j( ^5 j                          ]
9 \4 U2 d/ E* {) ?  Z" k$ {end3 G' {7 E" `( b9 N
8 K  w1 W; Q& A6 g0 l; a
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,0 M3 l2 `: _( A
应该是
. X; L) s( M% Xask turtles [
# S! A; |* h2 A3 d- q/ C' I, Pif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) * f7 O$ i6 \. F' r4 t
                          set y  Dep / 2 , l, V! t8 ~3 p0 @) [
           set b  int (who / 5) * 5% y/ ^& v& R0 O, F
    setxy ( xcor-of turtle b + x )5 g$ P6 Q* S% ?+ q; E* s$ p1 ?& H6 z5 Z
          ( ycor-of turtle b + y )]]5 V/ h& r7 B3 d) e8 n9 J! V
end
7 G& L. j3 k0 H. P: o2 F之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-17 23:23 , Processed in 0.021933 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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