设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7786|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。' s  z) z4 L; z  c) g& `- z, w' T
5 X. L' r' k% H- Q
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
" Z( z- y3 F7 o
1 M( T4 W5 S7 o3 e' A1 ^turtles-own [a b c d k f g h
: y, t- q: r9 V( f) N8 p2 x  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
# ^1 D) k+ Z4 O7 H, ^. H  V  d]
4 H1 p3 b& T/ Y3 p; f7 w6 `% C- `) Vto new/ ^9 U! _+ x- \$ ~" I
  ca
% m5 q3 ^3 Z+ r3 }# N  crt 5 * num_of_building
. U( M0 i) b: n# P& x, ]4 X; N  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
% G2 J% t' l7 {6 N6 @) N  scatter     ;;keep center-turtle random positions
* ?8 S, {* H3 m. q; X$ U  unit_plan   ;;make up the building plan
# F( H9 g1 w+ V0 ?' \( A0 q! q* Uend
7 _+ T! p" _3 d) u6 b4 ?& s+ eto scatter
  q" h) k2 n- p# C+ x5 l/ |ask turtles with [remainder who 5 = 0]
) M" C2 Y# l% Y" K1 _8 t+ K* h[; n, N7 x4 u- V3 V7 o# m: W
set xcor xcor - 6 + random-float 15
* }" Q# k$ ]3 _) }: X+ y* Zset ycor ycor - 6 + random-float 15
. D  |. x0 D7 S]6 @4 K- \) Y$ h" k) B3 D4 J9 O, j
end5 V- B* n2 `" U0 ]# }& z
to unit_plan
( n, @" B! U- h! p- m  Kask turtles [) q( q% ~2 L# O0 ~+ Y! E
if (remainder who 5 = 1) [set a who : m& ~% U+ r+ T' I  T( W
                          set x ( 0 - Wid / 2 )
6 v% a9 G4 b- T! {8 k) B* }- ?2 r                          set y  Dep / 2 ], s0 ~, F7 V! R
           set b  int (a / 5) * 5/ z/ o3 Z4 m" Q
    setxy ( xcor-of turtle b + x )
7 }' i2 i7 g0 ^6 P' ^! Q          ( ycor-of turtle b + y )
# a( x: U3 g% {! N! s% c; Fif (remainder who 5 = 2) [set c who" P& c3 e1 W2 I; f
                          set x ( 0 - Wid / 2 ) ) u4 I" |% h' o# X" T( X
                          set y (0 - Dep / 2 )  ]! j' O8 ?, `3 S+ i
                          set d int (c / 5) * 56 c, ^+ d% O4 F. Y8 j6 w5 {
   setxy   ( xcor-of turtle d + x )6 q5 b+ N1 Z# }1 F2 I) E
           (ycor-of turtle d + y ) ' @7 t- A0 ?) ^0 U# `; z% c
          3 Z( X  ?7 B+ L$ r# Z5 _; F9 z, c
            
/ g  s! P: ?4 ~1 }( J. ]if (remainder who 5 = 3) [set k who8 Y: O7 J9 d/ j
                          set x( Wid / 2)  5 a6 F1 j0 u, u" f0 g5 A! Q
                          set y (0 - Dep / 2 ) ]
3 d% @; h. E5 C  r                          set f int (k / 5) * 5
: T; |( E$ r0 [( p7 F, W  setxy   ( xcor-of turtle f + x )8 d7 q2 q+ h5 N+ }3 L' ^2 u# h
           (ycor-of turtle f + y )
/ W7 |/ h% {; [5 h0 r, i% O: s           
4 F4 v! [0 l* _6 M6 ?           
5 Y  l' C6 ?& J2 kif (remainder who 5 = 4) [set g who
9 x: U- R" @5 x- G( h& e8 w                          set x Wid / 2
! \3 D% c  R1 ]1 {' r5 ]7 e4 e" P- o8 \                          set y  Dep / 2 ]1 m" W4 B8 L8 B! r: q
                          set h  int (g / 5) * 5: z* E/ J0 L! @/ F' `8 T
  setxy   ( xcor-of turtle h + x )
5 s& t) `1 P- H- f2 u. E           (ycor-of turtle h + y )
! G; S" q! E/ p" I                          + d9 S5 x2 _' I- ?' v8 J
                          
/ A! V; i! W: E& a& u4 d- b8 w                          ]) p; i: L/ }4 [3 {) M! ^4 k& P
end
$ ~& L& G  Y6 T, m  u4 e5 @' L' w$ M
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,* n3 n4 j% \4 U0 L3 f( J2 ]2 }, o
应该是1 N/ n% w& i) f: n
ask turtles [
3 v+ b" p$ h' ^if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
' b1 O0 h+ Z# C' U$ Z; ]5 V( X& P                          set y  Dep / 2
) ~2 J2 e% P/ c$ A           set b  int (who / 5) * 5
* Z0 I, f& v5 X  L. K) o    setxy ( xcor-of turtle b + x )( Y& T9 F5 h0 v; C
          ( ycor-of turtle b + y )]]
2 v; u6 y+ I( G4 m  S* }end
% S5 Y3 P, T: _1 W/ q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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