设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7685|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。# ?/ \6 G3 U/ q; a
& z; K6 w) n. p
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。3 F1 P) Q: A" W! e$ R/ ?, ]6 V
' r/ H6 }4 d' e0 u5 B5 e, M$ S9 V
turtles-own [a b c d k f g h, ~9 r3 W$ a9 Y* Z# h6 i/ _, z0 N
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle $ V# m( _% T' t( y/ P8 q" ~
]- R/ `: n$ |, \0 Y, e1 j, X
to new
' B7 M# {" A% {7 o  ca, X4 F( L! x: u' ^9 ~
  crt 5 * num_of_building, P0 d3 X7 [" R7 f
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]/ L' Y) h' l- m) d6 x2 q/ r7 P
  scatter     ;;keep center-turtle random positions 0 Q- t9 _. t8 V4 ]% e7 l) l
  unit_plan   ;;make up the building plan
5 U5 s1 o# I9 s3 kend; w  @0 @8 ]+ `
to scatter5 |) J6 g8 Y1 h6 J8 v
ask turtles with [remainder who 5 = 0]
5 X9 n8 }1 d% R8 O) U[2 M* v- h$ I6 A  m0 d+ e
set xcor xcor - 6 + random-float 15
- a, U' l0 H7 y7 Dset ycor ycor - 6 + random-float 15: C) W. O. O, E/ m7 T7 V4 c9 W- t
]( \2 }, a2 L4 t$ q
end
) B7 {( ~  X. Pto unit_plan 7 c; h, _' E0 W+ I8 v" n( ]3 Q
ask turtles [) z- ]9 ]* x, K% f; O9 P
if (remainder who 5 = 1) [set a who . r- V: d, A: D7 m
                          set x ( 0 - Wid / 2 )
8 k, T& g  k0 p4 R0 H                          set y  Dep / 2 ]6 V) C9 w/ k2 B
           set b  int (a / 5) * 53 X4 q( m  l+ w0 i$ R; w
    setxy ( xcor-of turtle b + x )
  b1 P$ b/ x1 D          ( ycor-of turtle b + y )
2 j& I- g* o9 kif (remainder who 5 = 2) [set c who7 {. ?: N2 J. d8 {& X- F' \
                          set x ( 0 - Wid / 2 ) " C9 a9 s. `" e) X3 l
                          set y (0 - Dep / 2 )  ]
0 ?& y% L7 z- ^8 G                          set d int (c / 5) * 5" C9 N+ j: D( Z! I
   setxy   ( xcor-of turtle d + x )
8 M8 Z3 L! P- h7 E7 V           (ycor-of turtle d + y )
5 A; X0 ~; {' ]8 B3 l         
( T+ N7 `9 \$ n% w4 R; n% B; f            ; V, K/ g1 G8 z8 C$ q
if (remainder who 5 = 3) [set k who
; A% R  w+ F: `. w5 T                          set x( Wid / 2)  * o) i8 Z, ~4 n+ M/ b
                          set y (0 - Dep / 2 ) ]
; B$ Y1 e$ B9 x0 x: E' f                          set f int (k / 5) * 51 P' k) h( f5 w! [. Y/ n
  setxy   ( xcor-of turtle f + x )
- s) o' H6 Z' ]8 o5 ?/ W           (ycor-of turtle f + y ) # b' t2 t! `$ V+ G
           
6 l5 v$ O) ]: U' e, o: P           
" A  J! C4 V& I9 r& n6 kif (remainder who 5 = 4) [set g who' R  B" y2 f3 h& n0 t' Z
                          set x Wid / 2
4 B0 `% l4 E, F1 H                          set y  Dep / 2 ]
1 @3 C) G$ y7 e4 L                          set h  int (g / 5) * 5- n+ n8 o9 l& g/ g
  setxy   ( xcor-of turtle h + x ): b# M" e* P2 e7 l  Q
           (ycor-of turtle h + y )
( a; `) Z! {+ {6 c                          & F- Y; v' T% ]+ |
                          4 h( C2 i/ b3 `$ k: p. Q
                          ]
# M- ^) I& B2 [  F* Pend  l6 L* g! Y1 h: X% C! E2 d

3 g# o# ^/ W  [; {/ v' E[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
" c, d3 D( F5 d3 l0 M' d+ R$ U应该是
% w4 |; B4 I2 M9 C+ ~# Bask turtles [
: F8 G) Q) M8 X, Eif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
9 ?; K6 s; M* |9 P. j2 Y                          set y  Dep / 2
& K* I/ Y# W3 t. h0 k           set b  int (who / 5) * 5( o4 }: I0 w; _: t$ M2 ]# V
    setxy ( xcor-of turtle b + x ); F  E# v; I3 A( m
          ( ycor-of turtle b + y )]]* S' W+ s8 ^7 q9 m
end
! i3 f$ z$ L& T1 B' H: w& W3 }之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-14 04:59 , Processed in 0.015703 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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