设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7683|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。) K: W$ q. D! S4 C. A, A0 m

$ u$ y& G5 z/ E3 k( J  N/ L  W% I! N3 \但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。7 U3 B: Z. ~8 f! a" W/ e. {& o
; x* ?% Q( Q1 G8 A) r
turtles-own [a b c d k f g h
- h8 V2 W- N+ v! U/ d. a. h' B  x y     ;; these are the leaf-turtle's offsets relative to center-turtle - u* k. i. l; c3 y1 v. I; `
]
5 m8 Y, ]7 i$ o' V8 o9 @8 Y2 Hto new  l. ~: H" \2 \
  ca
, i' }! Z3 b0 W; H; ~3 V! P$ `  crt 5 * num_of_building
& m& t+ z  [" [  `- }2 O4 M+ k. u  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 ~; t5 N, U) l8 x9 `) P) i  a  scatter     ;;keep center-turtle random positions . _9 U, q" w0 N6 G7 s% u
  unit_plan   ;;make up the building plan
4 o4 I& Q  O) \5 E8 U: M$ Eend2 W( C( R; {: c! j
to scatter- j6 @+ O0 w: E7 r
ask turtles with [remainder who 5 = 0]
, G' v7 q# a$ N[
' E5 Y$ x* k, n* O7 g* \- zset xcor xcor - 6 + random-float 15; O+ D: w8 O5 M0 d; D, O- |4 ]
set ycor ycor - 6 + random-float 15  F5 f: n1 b6 j  y6 c$ I4 A
]* y8 X" j* d, L' ~, X+ y2 d
end1 V5 m/ w; q: N+ R0 |! y
to unit_plan + y! t' A- d! y5 Q
ask turtles [
4 n3 w" j0 F" fif (remainder who 5 = 1) [set a who ; J0 P. i0 f% y
                          set x ( 0 - Wid / 2 )
! R' @; l! |. Z- ~                          set y  Dep / 2 ]
6 d( Q; m% r, y3 E           set b  int (a / 5) * 57 w5 }# s! J# s5 W, _0 A
    setxy ( xcor-of turtle b + x )$ \  Y* F2 Q) ?1 V. J
          ( ycor-of turtle b + y )/ ]1 x2 C8 w# c. F& L) A
if (remainder who 5 = 2) [set c who( h* U! Z( s5 w9 ?7 ^  g
                          set x ( 0 - Wid / 2 )
5 N) _2 k& c* P& }. |9 {                          set y (0 - Dep / 2 )  ]: A+ n/ n( [/ J+ y/ I* U
                          set d int (c / 5) * 5# U8 s) M2 Q4 g& L3 s
   setxy   ( xcor-of turtle d + x )
. ]) W; N. s: l0 B7 c( i6 z           (ycor-of turtle d + y ) 2 {; ^- z, U9 T
         
, ]& L( I0 O+ X' W( h            * s1 z/ M& g9 b# I0 @- D
if (remainder who 5 = 3) [set k who
0 R! [/ f% R  g                          set x( Wid / 2)  9 j1 V: x& d/ L0 G8 q
                          set y (0 - Dep / 2 ) ]4 _  t3 g$ J8 e
                          set f int (k / 5) * 59 {# z7 T6 |% [. |" ]2 U4 ^
  setxy   ( xcor-of turtle f + x )
7 I) }* h# z% ?. G( A           (ycor-of turtle f + y ) 2 y" ]- C  w/ d# d7 z- r
           
) S: a% y* ]" ]# ^" I& X           
3 Q) m$ x  ^: }7 Zif (remainder who 5 = 4) [set g who# ]6 x. ^  n$ i' U" q
                          set x Wid / 2
) i/ G4 ?3 x* \  J# _                          set y  Dep / 2 ]
; B+ ]$ h0 k2 l) [                          set h  int (g / 5) * 5
, G3 x. }) r' x0 Z7 q, T! ]  setxy   ( xcor-of turtle h + x )
; G- k, C8 ~9 M5 L; e, @2 R           (ycor-of turtle h + y ) # ^# ^. R2 w3 B" [* v$ T1 e
                          
+ J/ ^4 V+ z1 b: Z% R, ?, f) Y" d                          
8 r9 l) a# I7 C2 p, C$ J                          ]
- y- u: \* X6 X1 |( \end
( `9 u9 ^% E/ m& R; a0 w9 P
& ^- o3 i' t, @. P6 G[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,: _! x) @; t1 B6 ]! D# K* G
应该是
3 B5 H, {* L5 w8 }ask turtles [' `* @! z3 r) E" q0 i: M% v
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
& U4 N( B1 ?# @8 g# ^( u# r                          set y  Dep / 2 * q& U; V0 Y( f+ a
           set b  int (who / 5) * 5
1 @1 H  ]6 s1 V) N* H# L; d/ a    setxy ( xcor-of turtle b + x )
" f7 V7 T! e) Y; x. i          ( ycor-of turtle b + y )]]# z0 c4 B* f5 u/ z  i
end
3 s3 p3 [5 ?& K) r' W之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-13 20:52 , Processed in 0.019835 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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