设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7318|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。+ D' m7 `- @+ [. ?/ d

; E5 M! o3 g# N. N$ B但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。+ n7 |% ~( {9 M' L
% W/ b' M! t7 `/ @
turtles-own [a b c d k f g h
6 \) R+ {* M( k& V' `' x; N8 l7 P  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 9 T7 U# _2 c7 }; C
]
0 J6 c4 ~* O6 wto new0 T7 l5 }! v! C; c& Q2 y
  ca7 C4 v- V) v5 @3 l0 H: Y. ]$ U
  crt 5 * num_of_building
+ t4 z1 M% z, s, p; N  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]: ^; g8 |+ Q, b; K
  scatter     ;;keep center-turtle random positions
9 c# |! Z& r9 P( m* l  unit_plan   ;;make up the building plan
# p% T5 l; o/ A8 B' B( Qend
# _; n& P# L9 E8 T, C) r+ gto scatter8 _0 X9 A# p% o
ask turtles with [remainder who 5 = 0]
) _4 C  [0 ~) D3 V4 g. M8 K+ J7 j[; E( F# `* w+ B- `. u
set xcor xcor - 6 + random-float 15
, h+ r* \5 u5 |% m1 s: mset ycor ycor - 6 + random-float 150 F5 ?- q. ]8 S, G' [
]
- d& U6 P! m0 K% wend' V( _+ n+ g* @( r
to unit_plan # }% C0 u8 M0 N5 t: o, N
ask turtles [
0 o/ D/ o5 g2 Qif (remainder who 5 = 1) [set a who
0 [' y5 i& @' U0 h" B8 i                          set x ( 0 - Wid / 2 ) 5 g# T  v' [) s6 L2 r) x# B$ r# S
                          set y  Dep / 2 ]8 y# E$ y0 k& e7 Q' C+ {3 h
           set b  int (a / 5) * 5, Q7 r5 X9 h  Q  C" t( Q; L
    setxy ( xcor-of turtle b + x ): O& K  M3 |& e6 u2 t0 S6 t8 o
          ( ycor-of turtle b + y )
) G% q1 T! d/ W5 t0 vif (remainder who 5 = 2) [set c who9 c0 _3 A# o9 h. }: {& s" B
                          set x ( 0 - Wid / 2 ) 9 _' e$ N2 q) }0 Y9 c9 o
                          set y (0 - Dep / 2 )  ]3 P8 S6 J8 `; k& ^
                          set d int (c / 5) * 5
9 B( C5 }# c# F4 D# b( K& y) ^   setxy   ( xcor-of turtle d + x )
$ M5 O- B! U5 P9 K; k           (ycor-of turtle d + y ) 1 ~( u/ X) M/ H% L
         
$ p$ W% |+ ^; }" W) D2 H            3 P3 {9 I5 o+ X' f, D
if (remainder who 5 = 3) [set k who
$ E- w5 V* d" _, u' W                          set x( Wid / 2)  
* e/ |+ D) p+ h: k% v0 H5 t; ]                          set y (0 - Dep / 2 ) ]: K2 m* k7 G, B( B" [: U
                          set f int (k / 5) * 5' `6 F* u# d' h% ^4 e- m
  setxy   ( xcor-of turtle f + x )
" S5 J( i2 ~0 v5 \2 U; k           (ycor-of turtle f + y ) : ~& n" c5 }- A, ^$ [9 O
           
5 u$ {9 ]2 C/ J; v& v7 y           
. u* O% {- l% q  ^6 a$ ^4 wif (remainder who 5 = 4) [set g who
' S6 q+ t% V( Z                          set x Wid / 2   F, q# g1 Q9 A! [
                          set y  Dep / 2 ]
( F# `1 T0 g1 F                          set h  int (g / 5) * 5
7 a) V3 v, w) k* o$ p3 C3 i  setxy   ( xcor-of turtle h + x )
! q9 O" o. t, h1 {  _' G" z, D           (ycor-of turtle h + y )
. d  V+ Y* R( X                          " a- N& M. y5 {: m) r: @
                          
3 ~* Q; N6 @7 K                          ]/ b' v9 k* \: J* `3 z
end6 O$ E' L: `; x& L. k

. `- t3 j7 E' K! f" D5 u[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
+ h0 b* ^4 h6 I6 |& Q, G( l应该是
5 b$ [0 a) r) d& u1 l5 ^  Cask turtles [3 D1 s- g4 z: v% q& J8 m# v2 ~
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) & p/ F. \1 \8 L8 z
                          set y  Dep / 2
$ E3 e# ]% _, L           set b  int (who / 5) * 5
. p6 ?$ N' \# R" ]6 f1 ?2 @9 B    setxy ( xcor-of turtle b + x )- i$ {+ r" Y" c6 c7 B5 t# W
          ( ycor-of turtle b + y )]]
' b. I+ O; y  j( V! mend
' O9 y$ \( J9 ~$ ~之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-28 22:31 , Processed in 0.018230 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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