设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4095|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。3 d; _4 p1 b  e8 @: y: b
- W2 _: k+ r, A* ?' b
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
, E, ~  q$ C( ^) ]9 \" }+ J4 P8 S$ K7 r) z
turtles-own [a b c d k f g h
2 M1 ~7 S: \* b  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , X5 _. q9 s, R# v. y
]9 d; I& O" L% R# j$ |( X
to new
4 _+ h* r9 _+ S  j# |* N  G  ca
5 C/ G7 ^9 `" Z) h/ K8 e  crt 5 * num_of_building0 a  c- }9 }) ]5 p
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
- c5 {2 C. W0 }  scatter     ;;keep center-turtle random positions
* L9 v: f% |9 e+ `  unit_plan   ;;make up the building plan; h. G2 d9 b1 m" r; J
end
7 F) w; T! P( _+ Rto scatter
/ v1 ^- S& n! F; J6 K+ v5 m$ {" \: @" oask turtles with [remainder who 5 = 0]3 z3 \7 y/ t/ r8 i
[( U, \( E& F+ D' f! a9 s7 ?
set xcor xcor - 6 + random-float 15$ s7 m( k6 S# N8 G
set ycor ycor - 6 + random-float 15
7 s& A* k5 j9 h) x+ L. R% o3 c]
& k: D. j/ K( A) d3 C  ~, jend
3 r, k- N$ O1 z8 C7 o+ o. @# ato unit_plan
1 L) f- F$ U+ D) }- b. y" f- pask turtles [* w: e3 M, m: E8 x. w& c0 L: T
if (remainder who 5 = 1) [set a who
- G, r" ?6 n2 @                          set x ( 0 - Wid / 2 )
5 g: u0 M5 ]7 T* @6 n$ h                          set y  Dep / 2 ]
6 A6 T" g# K) E5 S           set b  int (a / 5) * 57 o# g; Z5 m  A5 W6 Q3 {1 |* f9 k
    setxy ( xcor-of turtle b + x )/ Q& M8 S$ V- k" S( d! E
          ( ycor-of turtle b + y ); o$ S; w" Y/ V4 q: p
if (remainder who 5 = 2) [set c who0 Z/ c/ M, D: w8 I0 ]
                          set x ( 0 - Wid / 2 ) + f* o; B8 f" A! |9 ?
                          set y (0 - Dep / 2 )  ]
- u) v3 d  s- z                          set d int (c / 5) * 5
: C0 }+ I0 k( N   setxy   ( xcor-of turtle d + x )
) b* l8 G' D" a           (ycor-of turtle d + y ) 3 ^' G& W/ S  |: \" O* z
          5 B/ y( Q$ e: Y
            4 x6 }7 c- r; K( ?* R; I
if (remainder who 5 = 3) [set k who; a# u3 z9 q: c# c+ s) o3 b! {
                          set x( Wid / 2)  5 n3 ?/ f2 `" q% s+ |# ^6 k" Z
                          set y (0 - Dep / 2 ) ]
! h' R% `# U* [2 a5 l                          set f int (k / 5) * 5# V2 \7 C: D( b: X1 N1 s
  setxy   ( xcor-of turtle f + x )
6 E8 `) h# [1 I! P           (ycor-of turtle f + y ) $ H1 s7 h' v# I1 j+ b
           6 v, l+ ^( r6 X3 P1 b& d8 l9 ^
           6 b% u- n  R2 y8 v7 F  L2 _+ s
if (remainder who 5 = 4) [set g who) @' Z4 a$ z- F8 B. r
                          set x Wid / 2
0 y. a6 I4 P; @/ \+ {                          set y  Dep / 2 ]
; O% R7 X% f' n- U9 N: X9 ^                          set h  int (g / 5) * 5, `1 N5 c7 J0 h1 [/ H% O! p
  setxy   ( xcor-of turtle h + x )) |2 Z8 o+ ^8 p+ I- v
           (ycor-of turtle h + y ) 9 j% U2 O" q& K1 b% E0 N( F
                          1 M" K7 y2 a. u1 P
                          
. C- I7 N( z# J1 H- i                          ]# M! M% @0 I# k. f" C! [
end# Z7 E3 n. P0 v3 a/ `: [, n
# C. P; b; J9 H% G1 G  u. w
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
+ Q5 V. K1 ~  e% R应该是
  ^! r5 X, N9 a2 u/ D8 }ask turtles [
/ D. P1 S5 |3 H/ C$ h8 Z, K/ \if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) " ^0 [4 L( c! f1 Z- v! ?: ?0 x* M
                          set y  Dep / 2
) D) a6 P& c% ?7 S' E           set b  int (who / 5) * 51 e3 {- l  E& ~; E" F" k! D
    setxy ( xcor-of turtle b + x )) A) E. R$ `# g) s
          ( ycor-of turtle b + y )]]( L% Z1 ]8 @+ K- I: k
end! s) T& q; S1 k' C
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 06:32 , Processed in 0.012507 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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