设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7977|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。$ x/ z2 B. p* c; q
) Q$ w$ W+ C, i$ d/ m
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
* a! O: U! g1 a/ [3 Z- _: I8 Y7 T$ S  e
turtles-own [a b c d k f g h8 G/ q/ b% _( f5 p( v4 R
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
, I- D0 R0 u; Y; `9 p]2 Z4 F; C$ p: I
to new  J% ?1 E; g% B: U% D! T3 q9 F
  ca
' N: p( ]# c; A+ K  crt 5 * num_of_building
) A% A" A( `7 x2 o  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
) B% w/ W! ?6 s' c  scatter     ;;keep center-turtle random positions
* r* d2 l+ S- n* {' H  unit_plan   ;;make up the building plan
5 Y1 x. e* V5 F; d8 T( Zend
9 h* {9 a  h' X9 ^to scatter
$ c& U2 r& z( x+ u8 N) _, {ask turtles with [remainder who 5 = 0]6 u3 d1 B8 F9 b/ V
[  Z6 z4 q) w, y" S) t, l
set xcor xcor - 6 + random-float 15. y: \6 ]% u" r$ d8 L. _+ Z5 k9 ]4 c" z
set ycor ycor - 6 + random-float 15( P) T) ?3 s& D
]
" \) q8 B. ~% D/ Z" m6 t/ Jend
0 w" n- m0 G, Ato unit_plan
, }5 C: A. D' o- s; Rask turtles [
& i% x0 x% E4 m+ @7 M3 H" yif (remainder who 5 = 1) [set a who
; t' H" `0 |' {* A+ w                          set x ( 0 - Wid / 2 )
4 j9 T/ Y0 \) L$ S9 x& l) O                          set y  Dep / 2 ]
1 H" h9 ?- X; |           set b  int (a / 5) * 5
+ M* r& q. ~$ X; g" v    setxy ( xcor-of turtle b + x )9 [4 {6 P# ^  S- `1 d5 t: ^
          ( ycor-of turtle b + y )) N: ~, V; q* w" i8 u
if (remainder who 5 = 2) [set c who
* W3 F4 z7 g* v- H$ h$ L6 j  d, v                          set x ( 0 - Wid / 2 )
7 s2 K+ ^# X" Q3 I' k1 x3 M# f1 V4 e8 c                          set y (0 - Dep / 2 )  ]& T8 i- U  b; N; V
                          set d int (c / 5) * 52 g! _. m* ?4 t6 T2 J1 Y6 m# V3 O" s
   setxy   ( xcor-of turtle d + x )) T. n+ o. f3 d. k3 H, f- O
           (ycor-of turtle d + y )
, C6 h6 [9 v8 Z+ M3 g         
7 X% N1 a0 w- F4 m            
1 V7 J1 v* L  {4 uif (remainder who 5 = 3) [set k who( S6 F+ u1 g$ e% Q3 i
                          set x( Wid / 2)  
: Q* O) h6 r$ @# s. |/ M* b3 }5 P                          set y (0 - Dep / 2 ) ]; y- u# o6 T" Z, w! }
                          set f int (k / 5) * 5
* `, M& F( k- G! C& x$ }  setxy   ( xcor-of turtle f + x )2 A0 f7 W8 I" A  y4 \3 \
           (ycor-of turtle f + y ) + t- R7 H$ D+ J2 h
           $ B( j; \  ]* z$ ~* w9 c6 e# V
           3 J9 o' M, W/ Q0 k
if (remainder who 5 = 4) [set g who
" R+ T, k- `2 T' |' ~                          set x Wid / 2 1 q4 t3 `; K4 m1 c. o/ b" t
                          set y  Dep / 2 ]/ S5 G# L! |1 K
                          set h  int (g / 5) * 5
& a; p6 U" v3 y1 i; m  setxy   ( xcor-of turtle h + x )' D+ P4 f# t0 U7 m  F* v8 `
           (ycor-of turtle h + y ) 2 J0 a2 r) T  w2 V. g
                          / C1 y* a) T1 A+ \) c" W" x6 q
                          ! G& E" }, F  T. L7 h1 j) Z+ d" w
                          ]
# Z: g- L8 o' p" V# Rend6 ]% x) w8 H, a9 Q8 T
4 @' b% a! N. A8 L3 \9 B
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,& L! l3 @4 G) C. N9 Q6 ^& r0 T
应该是. D& h! }: g3 v( ?7 c9 r
ask turtles [/ V/ V0 r% V$ l) P
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
' F0 c) E7 @: I* [                          set y  Dep / 2 8 D- L+ E( |1 K# `/ ~: ~
           set b  int (who / 5) * 5: n! ?. J) J* K/ N6 v% t
    setxy ( xcor-of turtle b + x ); s- W; \" N. h2 C' n8 u
          ( ycor-of turtle b + y )]]2 R# c0 O# [' Q' `  \  n" t
end
- b1 O3 ^/ H0 W% n- W之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-24 02:03 , Processed in 0.017707 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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