设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8252|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& T0 j2 j: S( f2 X

- K5 U, y* |  ^6 R但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
1 Y) [+ A5 v$ H7 Y1 x  a/ p
: ^/ K/ m7 Y6 F  M: yturtles-own [a b c d k f g h$ w4 `: Z7 E, V
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; L3 S7 ?! O/ J; [, b8 o]/ d" `1 G& g2 F( N2 N/ j8 O9 ^
to new# A. I+ S! q! q+ o
  ca
! {) P3 m. a7 {; }" e& u" [  crt 5 * num_of_building
" y+ J7 m/ V5 L/ B& P. K  {1 U  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]9 W2 d$ b0 E4 C% w7 F8 m8 [6 z; S
  scatter     ;;keep center-turtle random positions
* q  J8 H2 z* P' l+ B. X# k  k8 V  unit_plan   ;;make up the building plan
2 ^# f7 C$ w5 r- @* h; Gend
5 F- h& Q( Y) U* w9 E# Cto scatter; r, ~0 {* T* x$ }
ask turtles with [remainder who 5 = 0]+ F' x4 ^4 U& r7 I8 ^/ P+ X
[
& l2 o. V" E+ K4 B5 X4 ?set xcor xcor - 6 + random-float 15
' z! I" q5 h* q# a6 b/ Eset ycor ycor - 6 + random-float 15
6 v8 s/ Y# r( q3 B( f]
1 j" c) Q+ G7 y/ C; a- K5 mend
- l8 D9 z6 C0 o* Ito unit_plan
" e; o6 @1 n5 I# f1 w& U/ a; _: gask turtles [- Y9 W4 c) z& C) ^
if (remainder who 5 = 1) [set a who 6 ?: T6 q7 D0 i: o5 g2 m1 p
                          set x ( 0 - Wid / 2 )
! {2 t0 Y* |% n$ m! k( L, e                          set y  Dep / 2 ]
1 D1 q# e6 j/ [4 C2 B' ]  H           set b  int (a / 5) * 5
# I, e6 k: u! Q! o  k    setxy ( xcor-of turtle b + x ), [3 {. Y+ c8 j, X" u
          ( ycor-of turtle b + y )( }$ r& ~* R0 `8 e) j
if (remainder who 5 = 2) [set c who
5 ?4 M5 H9 x% `+ v: \) ], F6 `                          set x ( 0 - Wid / 2 ) & R' ?5 d$ m& _: \8 p: @5 _3 l$ d
                          set y (0 - Dep / 2 )  ]1 x3 _8 G0 V! ]4 ~6 E
                          set d int (c / 5) * 5
4 C* B5 @% N% b   setxy   ( xcor-of turtle d + x )
+ l; b! U& Y! U7 ^0 p           (ycor-of turtle d + y ) ! ^0 C5 J% O' K5 t+ g- S+ }3 _
          ! ~9 K0 ?/ l6 Q; I6 x+ k& C! ~; I7 U
            " N6 N! l" v2 R  P! t) ?
if (remainder who 5 = 3) [set k who
) u  ~6 [! y, a" I* h1 C2 F, Y8 T                          set x( Wid / 2)  
8 {) ?- ]) a( ]7 {- j. z, @: a7 v                          set y (0 - Dep / 2 ) ]/ n# I* d4 {( ]% W6 o: O
                          set f int (k / 5) * 5+ k0 w0 u# R9 X7 A2 O' \
  setxy   ( xcor-of turtle f + x )
6 V; n$ k& ?3 O8 d5 K           (ycor-of turtle f + y ) % D- K5 l* }9 ^: O, W. p
           
6 o9 e$ q0 S" s3 p$ [           
6 O& }. w2 h; Z7 Xif (remainder who 5 = 4) [set g who# L  c) x# a+ q
                          set x Wid / 2 $ c1 M# g( k! q9 O
                          set y  Dep / 2 ]0 L" \5 Q. B% ]" O% m
                          set h  int (g / 5) * 5
+ I8 i! x: ^. c# H% [; g" ^  setxy   ( xcor-of turtle h + x )
7 I$ s, N' _; ]+ m           (ycor-of turtle h + y )
: B: X5 P7 D9 a& K- M9 |3 n8 |% Z                          
% s" D8 R) S! n* b                          " t8 Q4 a% C! y0 z' [. Y" U
                          ]
6 ?! f! p/ v6 J: Eend  a3 R+ J9 s5 u5 D2 Z- Z' x  Z- t4 u
1 w* S3 \( v3 h7 r/ h
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 `; _) V9 Q# r- q2 V3 ?- J( v应该是
. H0 @) }; N3 z" s: _4 V2 oask turtles [
7 p* A; I  U: e0 m6 T4 K2 k2 Cif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
( H( Z# K" N4 E7 z" ?                          set y  Dep / 2
# V+ l) C. u) k+ J* Z8 g0 D           set b  int (who / 5) * 5
! }  w. L: L* r( D* M# R) f. N6 U    setxy ( xcor-of turtle b + x )
7 v# q# u, l$ `- `" [; z0 H          ( ycor-of turtle b + y )]]( Z' j/ F% j5 W3 H" i  `3 T
end
8 f3 H) g( [/ R7 t/ q9 I之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-24 22:07 , Processed in 0.023810 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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