设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8505|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( o' q, l+ x. U
5 o4 b* v$ o5 ^7 `2 M& `' g但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
4 U& d# t' }% s" v& K+ Q+ u1 `7 b! t* ?1 r. N8 L* _0 E1 b) S
turtles-own [a b c d k f g h
( F4 N8 ]: e2 F3 {3 X  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
5 o! c% m/ Z: Y: S]
! n+ P# m2 d4 m( R5 Zto new% N& W# p8 }* X: J/ ^1 A& ?$ g
  ca! t/ t2 O+ e" [8 b
  crt 5 * num_of_building/ W6 T# F9 e+ D
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 t( ?5 W4 g9 Z7 P- A1 V  scatter     ;;keep center-turtle random positions
) y' ~& S) @, D# y" Y3 n" y) ]# x  unit_plan   ;;make up the building plan' q- [9 [, l' X: k3 D
end
/ z! k8 I& _( r* ^( bto scatter
6 u) k3 n3 P6 c4 Z: F, K' Xask turtles with [remainder who 5 = 0]! s% v% d, C+ a9 H, x
[7 Z- w3 N0 ^; l/ A& {
set xcor xcor - 6 + random-float 152 |: z4 E& A+ ]+ d+ [0 R: z
set ycor ycor - 6 + random-float 151 n1 [% L0 F$ I+ a3 X# U0 I; u. n
]
* v& Z: R1 t  |7 \end
- M) `( R* q6 i1 rto unit_plan
% `5 @8 \9 a5 Vask turtles [+ H8 h" P8 w  H; m
if (remainder who 5 = 1) [set a who , f" G6 w" ?: V7 o/ M  h) T
                          set x ( 0 - Wid / 2 )
9 A. g: v/ T- Q0 F( u                          set y  Dep / 2 ]  S6 h" [8 H+ \
           set b  int (a / 5) * 58 \0 O) A; ^& w
    setxy ( xcor-of turtle b + x )
2 z) J0 t" C% `1 g$ Y3 [          ( ycor-of turtle b + y ); x" R* P7 f4 D$ }
if (remainder who 5 = 2) [set c who
+ K! D& l: W( g                          set x ( 0 - Wid / 2 )
8 L7 L3 P+ Z# N) e6 K, ^                          set y (0 - Dep / 2 )  ]
3 o/ g# i7 Y5 }  F4 f6 G                          set d int (c / 5) * 5
. V' F. d6 n, S* v, F# V   setxy   ( xcor-of turtle d + x )- o9 R, k) ^+ w* k
           (ycor-of turtle d + y )
3 V& {) M& _* b4 V( m         
1 X6 P' f) M4 u3 _+ W            , F" X( S, s, _  F  @
if (remainder who 5 = 3) [set k who3 d( y; A4 m2 n9 O9 S) W- y0 \
                          set x( Wid / 2)  
, \. b1 C. E$ B" P  A3 R& _' M                          set y (0 - Dep / 2 ) ]. v2 r2 c3 }/ J1 o. ]; j) V5 _" t. l
                          set f int (k / 5) * 5' Q8 ^; I9 y3 e
  setxy   ( xcor-of turtle f + x )' v/ p0 J0 G( q# J  W, N
           (ycor-of turtle f + y ) & v' ^4 u* l7 a" a: U
           4 |" \; u" l: S' Y
           
" {( Q2 M6 f! W3 M) M) [' V2 t7 Sif (remainder who 5 = 4) [set g who
3 i$ X" f$ n. _3 w6 P                          set x Wid / 2 3 a1 E9 ?' {3 M
                          set y  Dep / 2 ]
0 ?; ]- J( I  F5 Y2 c$ g" u  Q                          set h  int (g / 5) * 5
* {# |; v. h- w0 ~; k  setxy   ( xcor-of turtle h + x )
1 Y1 I4 f9 I' Z           (ycor-of turtle h + y ) : H% l  l, e/ b! I, }
                          
- ~4 ?' Y( Y. F7 |% W                          
2 A* m/ k* s% }9 o! Q                          ]' F% j2 D  b& }, }/ ]5 L% R' ]9 W
end# b- {/ I, U! Y$ J* q2 L4 Q+ ?

' T; d5 D. M+ b$ H- h[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
3 J1 J. @8 I8 Q, _" T. @应该是) g: W0 }( {2 e/ |
ask turtles [
" M8 }) g; @( S( Jif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
% v6 q0 R" m: ~- i; j  i                          set y  Dep / 2 ; m. z3 g4 i) z; l/ G( q
           set b  int (who / 5) * 5  [5 x" `, J# V# q" q+ d# r  N; K( o
    setxy ( xcor-of turtle b + x )
8 h, n( z6 P6 u0 T2 U          ( ycor-of turtle b + y )]]
0 h6 B5 {, o5 O9 p! Hend% ^& y1 U4 i/ G6 D' E
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-6 19:16 , Processed in 0.016611 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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