设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8906|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- P( R1 N; K# j$ z- T$ x
. U1 t. _" W* S但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
# n7 n) }2 N1 v  H& t/ Y, {9 p3 l8 m( Z/ p1 d% O
turtles-own [a b c d k f g h% v, q: ^4 Z" Q% y2 d4 _
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; l  V) k+ Y8 [( O* F' w]
3 w0 v+ ~" a2 z7 a+ t. }to new" p9 M  y- K% t, {5 k% H
  ca- Z1 `4 v% g1 Z# ^* D9 u
  crt 5 * num_of_building1 l9 z" p. p% _6 o
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
; @, X  i/ `# y. H2 j1 s" S( P  scatter     ;;keep center-turtle random positions
) e; D4 j; O6 ?- N  unit_plan   ;;make up the building plan* ~8 P4 e# y: f2 d* V0 y% ^0 {  g: @: g
end
* C9 b0 ^. p$ x1 z' I1 ?3 R4 q3 }to scatter
0 f" j5 e% Y& ^  A) Rask turtles with [remainder who 5 = 0]& m9 B8 V6 Q) h" A5 z
[
% ?: g4 b# j  p, E" i5 ^set xcor xcor - 6 + random-float 15
1 L8 K; y' ?4 R/ ~2 g1 O7 bset ycor ycor - 6 + random-float 15, P" t. ?7 D' b0 ^7 Q( m
]
) j; g) i6 O: s7 ^7 B; Uend. t8 W! B7 a. ]8 X, Z, h" S
to unit_plan
. J  `8 n) {1 e; r8 v( E* _ask turtles [5 E2 j. u' s5 F% s: m
if (remainder who 5 = 1) [set a who - p3 r6 D1 @0 [; y% x) _& Q
                          set x ( 0 - Wid / 2 )
% }$ i2 n: P$ T6 Q" v. m                          set y  Dep / 2 ]
1 l2 D% u  N) b- z% @' X9 G9 e           set b  int (a / 5) * 5
- f* p9 A2 t4 f7 A7 h" w    setxy ( xcor-of turtle b + x )  @" J. m( R, Z( s8 w2 n0 X9 f
          ( ycor-of turtle b + y )  @8 P7 [# L$ ~0 q3 ~
if (remainder who 5 = 2) [set c who9 E$ Q; y; i; r% b: G; W
                          set x ( 0 - Wid / 2 )
4 p# R( C+ S! S' k, D                          set y (0 - Dep / 2 )  ]
9 E2 n) t1 m# w1 p1 K                          set d int (c / 5) * 5
) B3 I. t( P2 `   setxy   ( xcor-of turtle d + x )! E! k; l" o4 v. Z9 @7 h
           (ycor-of turtle d + y )
, w1 J: m. g  n+ E/ D7 G- H; k; U          - K, u' V; Z$ Q5 w
            : J2 R( a5 e, @2 I( t& f+ l: c
if (remainder who 5 = 3) [set k who
* f3 A! Y9 O7 C. \' l' {' `3 a. I+ t: n                          set x( Wid / 2)  
& a9 u* ~1 H! u# M% y7 I3 b2 {                          set y (0 - Dep / 2 ) ]
. o. @' }2 v% {, l9 a) I! o+ O                          set f int (k / 5) * 5
- o7 J& f/ P4 k* u1 ?+ P2 j& Y) I  setxy   ( xcor-of turtle f + x )/ E1 N% N0 d) X8 V( U7 R3 i5 M' |
           (ycor-of turtle f + y )
! @: K7 \- ^0 M- S           7 g' o* N) V. r! l$ l
           
7 h( q/ `. d& Y9 {/ F, q4 M, q' eif (remainder who 5 = 4) [set g who& t. ~8 {' `8 w% w1 g2 ^- I, f) H0 R
                          set x Wid / 2 % c  k/ ^3 C( n1 `3 r
                          set y  Dep / 2 ]4 Z  z0 O7 ]. u/ X- K/ W
                          set h  int (g / 5) * 5
" b, x6 l: P0 d+ }  setxy   ( xcor-of turtle h + x )" M6 U  L2 e7 E, l
           (ycor-of turtle h + y )
6 j# p' o* x1 R; d                          , a+ O3 v5 I8 s$ }
                          
% U( _7 j( W, N3 r9 O, s                          ]5 f5 M8 I7 T! Z: Q! K/ ~& I
end
6 n9 N# D: e$ a0 n
  U1 _; e1 X0 }3 ^& k[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,$ f/ l4 A) J$ T6 s, p
应该是
) ^; ]. T  K$ L2 R: i! Rask turtles [
1 o: l) z+ p' C7 V8 H( m( F5 w& @2 fif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
1 j/ C/ f2 r3 h) W/ D( Q0 _! N                          set y  Dep / 2
2 e: s* n1 o! k$ p) {           set b  int (who / 5) * 5
9 p; q/ _; ]% Q# C$ k    setxy ( xcor-of turtle b + x ). b' g9 Y  g; l$ P% o% |
          ( ycor-of turtle b + y )]]
3 b+ r* m9 C9 c: |7 g" M" Rend; a9 S0 n& ~9 c8 l# H4 M
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-21 11:59 , Processed in 0.017657 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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