设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6333|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- L& ^+ \4 s! q& V( x8 p4 i! r; A
: `. s1 k! F" j但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
) b$ u1 m2 P6 k( X: O. w4 v) Y# t7 V3 G
turtles-own [a b c d k f g h
$ l- ~7 W) g1 M! v% R7 n  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
% H7 f* R7 U: G  c" u& Z& L]
; T1 K1 m0 f" I/ t5 Mto new7 q9 @4 Z! x/ `$ X2 J
  ca( ~( d, r, O6 e/ d4 y
  crt 5 * num_of_building) q; a0 r7 ?% t' i
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
) E6 `% p8 C- ^2 s9 X  scatter     ;;keep center-turtle random positions
% Y7 [, C' w8 H* `0 Z( {  unit_plan   ;;make up the building plan4 ?$ O7 Y* |4 z% g3 x& w
end  J% Y5 o% c9 |# v# X2 l
to scatter, x% M  U: }- ~* ~
ask turtles with [remainder who 5 = 0], j9 t2 F9 Y  i# ?) y. X
[
1 c2 a' X- b# x- O2 b/ ?/ N8 {6 lset xcor xcor - 6 + random-float 152 c5 d( B% x6 w1 Z- ~3 ~
set ycor ycor - 6 + random-float 15
& O. }) ^8 h4 }]* Q) y' k) C/ l0 n6 |6 J" ?
end* a9 x4 `3 q& q* F" s
to unit_plan 8 O& q0 r4 R& H
ask turtles [! T, b$ A* ^2 p; h: q7 E
if (remainder who 5 = 1) [set a who ! p4 l* E+ a- ]1 }
                          set x ( 0 - Wid / 2 )
4 K' K9 R+ I$ x0 n0 a                          set y  Dep / 2 ]3 s0 j4 X. T- u1 \1 j. d5 @9 t- `
           set b  int (a / 5) * 5* w; c. O* Y" x! z7 S( f
    setxy ( xcor-of turtle b + x )& T8 t2 r2 H8 P" l2 _8 r, [
          ( ycor-of turtle b + y )
* j- _0 D% @; o& r* G) A$ jif (remainder who 5 = 2) [set c who6 i4 h0 K) w" t- L2 I% l+ D0 J
                          set x ( 0 - Wid / 2 )
' J: h/ Z( v  B                          set y (0 - Dep / 2 )  ]& M) k5 T3 X+ M9 b- r- n
                          set d int (c / 5) * 5
- I% n: k- T/ D% N; h9 u/ e  I1 `   setxy   ( xcor-of turtle d + x )
$ q+ R& o' B- G) C0 B# x           (ycor-of turtle d + y )
& b, W- [( I7 T  Q          , T# a4 ~2 Q5 j
            : W4 @4 o5 o# J7 l  U' {8 a
if (remainder who 5 = 3) [set k who
1 l" B2 ?8 X: V* v7 G                          set x( Wid / 2)  
+ M: M) @9 f7 H  s                          set y (0 - Dep / 2 ) ]
" V/ N7 b# n6 R/ Y3 j                          set f int (k / 5) * 5/ t2 T# P- R# p
  setxy   ( xcor-of turtle f + x )7 |  m: G. }  {! B6 Z! U* U
           (ycor-of turtle f + y )
7 Y( c% `- I$ b. D           
% [* X. U4 H1 A+ p+ c           ! B! N0 u* ^9 f; k4 [
if (remainder who 5 = 4) [set g who
8 _$ h* U/ A. o, S( l! @                          set x Wid / 2
0 z4 N' Y4 o; |6 t6 f                          set y  Dep / 2 ]
% i8 x! j, }, f9 I' P( o) n                          set h  int (g / 5) * 5
2 c+ x" c# O( z0 Z0 N  setxy   ( xcor-of turtle h + x ). H# E: R3 k$ e2 W" i
           (ycor-of turtle h + y )
7 o9 g. {  K  K8 A' t1 O                          
% T, \( W- v5 W# S                          
5 R: ^5 i! _6 X( B9 u3 s; u                          ]$ A& K0 l2 a- D9 r( F+ d% U0 D: ~
end( T; T0 a( {1 a. u

! r: s3 V/ V) Y: O# w5 S9 q[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
9 i+ t  I# ^; w" i9 v, }应该是) O# F) G4 I- F! O
ask turtles [
5 q, T9 Q  d- o4 Mif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# @2 o( M- L4 J4 a- b                          set y  Dep / 2
9 ^; G7 L. b2 h8 _! J- P           set b  int (who / 5) * 5+ P5 D5 k* \1 v1 I) Q2 M/ j+ }: L
    setxy ( xcor-of turtle b + x )3 b) z. J, W. m1 x: y& R# p
          ( ycor-of turtle b + y )]]
- j' K8 r: S# r* [4 C6 N# E4 kend* A. R, e, F" r' f+ K; n- E
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-15 08:20 , Processed in 0.015445 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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