设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7465|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。8 W- D( q  e, y! _/ D; Y

2 _2 M  O+ e. a' t但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
5 S8 f+ ]9 I& R
+ G' Y9 G" |; ~( T' U( a* M; Xturtles-own [a b c d k f g h$ h' [* q* [6 @( r; \+ P8 O" A
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ' ^- E2 t5 F# H% ]# ]8 u& I; {5 U( D0 `
]
8 x% N) J) O/ E  O4 |- ^) ], d7 \+ Lto new0 x7 i2 `9 z! ^) o- b- B7 k8 y
  ca
; a! u$ T: X# w5 J- q: @  crt 5 * num_of_building
0 e3 r' t% i1 ?2 Q- _  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
/ T6 K2 `4 y9 T5 ~: f  scatter     ;;keep center-turtle random positions
. F. K% q9 q, Q  unit_plan   ;;make up the building plan
+ R; _, {+ s' z0 j0 Mend: n  v  ~/ L6 d4 R6 ~, i
to scatter0 W- J4 H/ `  u
ask turtles with [remainder who 5 = 0]
0 y3 r% y7 [' w! N" `3 j. B: v7 ~[6 l/ {5 K& P- k' m; Y  I8 C- U
set xcor xcor - 6 + random-float 155 o% p! N6 T6 F2 ~( `" ?
set ycor ycor - 6 + random-float 15
1 k7 e" N- v4 @]4 [$ |" f4 K# w3 M. [8 k
end
1 @6 [/ g3 T! C5 t/ P  {: n/ q/ oto unit_plan , q4 F9 T! {& ?6 @$ \! m, D! C
ask turtles [; v5 L* _$ ~9 U& \
if (remainder who 5 = 1) [set a who
. R% q- g! z$ B' ?                          set x ( 0 - Wid / 2 )
6 h  Z+ g/ [; j" j+ W                          set y  Dep / 2 ]
9 b% F$ _3 }6 m' O( }  n! Z           set b  int (a / 5) * 5  ?6 l3 p9 D5 _
    setxy ( xcor-of turtle b + x )
& T4 `' y& H' A1 q* M' }$ {          ( ycor-of turtle b + y )
# V( X- Q+ s, I) pif (remainder who 5 = 2) [set c who+ \3 }- R& V, I- t' W
                          set x ( 0 - Wid / 2 ) 2 L/ H" z$ R% r3 ?- ^. t' w
                          set y (0 - Dep / 2 )  ]( k4 v& ?" S% q/ ^5 E
                          set d int (c / 5) * 5
5 k; H- X9 [4 {" {   setxy   ( xcor-of turtle d + x )
2 l+ K+ {3 C3 }% [% I6 R5 `           (ycor-of turtle d + y )
) N# f8 d  L# Q+ e  v% K( ?" A, R          - J/ a4 Q# C* V+ ]
            
( i' {, }7 p4 t; C9 q8 X2 ]# {if (remainder who 5 = 3) [set k who
" F. l& S+ ?) Y, A' \: b; x                          set x( Wid / 2)  1 v1 p6 Z9 \" I1 h& h
                          set y (0 - Dep / 2 ) ]: S, U2 N  P; k
                          set f int (k / 5) * 5
. W$ E, d. u5 L, N/ w, w1 @" [  setxy   ( xcor-of turtle f + x )
5 V( Q) Z9 P6 w7 B0 l) I) v           (ycor-of turtle f + y )
' f. ~8 H& b# c  Z( p; K  u           * U- i! _* `3 o! a' E0 P9 ~
           
+ R" F1 ~, {7 g( V: r+ c- w7 [if (remainder who 5 = 4) [set g who( S9 r! }! }; f! I3 x' o: k
                          set x Wid / 2
/ d2 K4 B( d& U& v                          set y  Dep / 2 ]
* m( L( l4 x% t% x/ K. ?7 v. e! x* z                          set h  int (g / 5) * 5
0 A. V- T2 a2 ?& H4 _  setxy   ( xcor-of turtle h + x )
* C/ A$ p1 t; P. M- x" k; V% j           (ycor-of turtle h + y ) . T# q* y7 l) p  \- U, D: j
                          * K5 h% ^# |2 Z8 {0 v
                          
: a  C1 s) |/ S4 w+ R                          ]; U9 G! v. Z6 T" }' N1 _% b
end- {. @2 k' S, H8 G
8 N/ f! _! J8 W$ K! r, U! N0 L
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
# R' Q% ?( q0 V应该是5 E7 r! o( |" c/ r
ask turtles [
" T0 K" l! N4 e- \1 q7 dif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
& b' D: G0 e  e; B& d                          set y  Dep / 2 ) M: A  Q, @+ p1 P
           set b  int (who / 5) * 5" P5 u* l  ?; [0 K* l
    setxy ( xcor-of turtle b + x )
, @% D+ U- l! ~          ( ycor-of turtle b + y )]]- d9 |5 ?3 K) h1 F
end
4 ^# f$ _. J6 R9 r之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-14 01:58 , Processed in 0.023782 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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