设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8140|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。1 q* U6 V% e6 h/ G6 t
% s9 U; o- G. Q- F+ l# j/ ?
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。% W) \8 d+ r8 Z+ G& K+ C* p
) x$ P( z4 H" B5 \- U
turtles-own [a b c d k f g h
$ \3 B, }5 A) E% K  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 9 [# L4 m; z1 |" [; {$ y5 o$ t3 H
]
2 u* i( E& Z* Nto new
- V3 G- a, A) b5 N$ q: M$ B( e  ca
& A- \  s# H) `0 w) `" v( R1 D2 h  crt 5 * num_of_building- [5 D4 o/ i: v1 I2 I7 P( P
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]5 q5 s6 L4 \& g& {& h( R
  scatter     ;;keep center-turtle random positions 7 _, k2 v: m8 f' |( g
  unit_plan   ;;make up the building plan0 J. v+ w0 r5 @0 }* {
end
$ ~! m4 j" _" E$ N; Y5 D- Ato scatter
. v1 J( S1 U! ]0 h" `ask turtles with [remainder who 5 = 0]' H$ n7 ?! H4 u: Q  _
[
1 m8 P) v; q/ zset xcor xcor - 6 + random-float 15
% k3 M$ }; [2 v7 V4 e- Yset ycor ycor - 6 + random-float 154 t- y& S: s. R  B) S
]8 B% [- A) k$ A
end# S* k" U1 a" G$ m6 U& |2 b
to unit_plan
# T3 ]2 [6 k. S0 V' Fask turtles [9 @1 ^/ Z" U) ?% E' N, |+ R
if (remainder who 5 = 1) [set a who
$ L% `+ u( Z; q" C5 k; T                          set x ( 0 - Wid / 2 ) 2 ?( x/ b3 [+ ^% d# @2 [
                          set y  Dep / 2 ]' X! [4 e' U+ g1 o7 {- r2 t
           set b  int (a / 5) * 5
- W' d& d4 A7 o# l# ?8 n    setxy ( xcor-of turtle b + x )
. ]8 C" l: M  w1 t: u          ( ycor-of turtle b + y )
4 c5 S7 Y2 I/ P4 N7 K! _9 Z/ a% lif (remainder who 5 = 2) [set c who
, n6 _4 F5 g: E0 @                          set x ( 0 - Wid / 2 )
; _. R8 Q' ?7 q3 W, N                          set y (0 - Dep / 2 )  ]
; x* D0 i8 d6 H& q2 [: z7 ~2 c                          set d int (c / 5) * 5
4 `) F8 J5 A7 _5 t6 o   setxy   ( xcor-of turtle d + x )8 S9 \, J! T% A0 I# }3 q
           (ycor-of turtle d + y ) . |  K6 G6 R! I
          2 T" {1 e( O) h. R
            
$ F0 N( v' S4 ^4 rif (remainder who 5 = 3) [set k who
3 X' ^6 B. y$ k0 }& ?$ x                          set x( Wid / 2)    k6 C8 P1 k! y) @# m( o, ^
                          set y (0 - Dep / 2 ) ]
: ]6 e6 B  m8 t* C                          set f int (k / 5) * 5
* W7 Q/ G/ F5 T; {2 \: r1 C& n  setxy   ( xcor-of turtle f + x )5 M7 H  m. i- Z) u: B; k- {
           (ycor-of turtle f + y )
5 I2 X/ x+ v; {  Y# W# q           3 r1 p1 L5 r2 Z) I3 z: x4 b9 h9 X& l
           % ~) z6 `' H$ i. a# S# @. |2 o% T; }
if (remainder who 5 = 4) [set g who, e# L. l$ }8 u
                          set x Wid / 2
$ v2 q- K) o, P4 p1 X                          set y  Dep / 2 ]
/ ~  A; b) v0 t# g" E5 r1 T                          set h  int (g / 5) * 5! B& H3 d  Z9 J4 z. y, k5 y
  setxy   ( xcor-of turtle h + x )
) C; ?1 S& E' y+ y           (ycor-of turtle h + y ) ! T7 l0 J: E; o1 n' s2 v" v$ J
                          % ]. p* b, a+ M8 Q
                          8 W$ c% \6 w& @0 M$ K) }! i( ?
                          ]
  J. j+ Q: Y4 m- R6 b- @7 qend
5 X. X# t  \- i' S* P- u9 M6 m$ {7 z3 \  \
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 a7 w$ b( e3 Q/ q# Y
应该是
% d3 {8 `9 e# L5 u( @ask turtles [
, P( W/ w* w: q7 I) [if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
8 L- z1 I) N2 x$ M                          set y  Dep / 2 0 |5 U- E, r9 Z/ a. v
           set b  int (who / 5) * 5* E3 T/ x1 n$ T( k+ g6 {4 F+ R
    setxy ( xcor-of turtle b + x )
7 F6 U; n* w7 w: o          ( ycor-of turtle b + y )]]6 x4 ]( w8 D: U) S! `
end
) T: Y1 ^9 G$ |' x  v$ ~0 J+ X之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-10 19:32 , Processed in 0.018430 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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