设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8372|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
% R' q6 h6 S7 C* b! r5 ^7 i% w. Q. [2 U
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
- D. Q' D1 V, d% @* Y$ B9 [; e- y! l+ C! n$ d* o
turtles-own [a b c d k f g h
% q2 M8 ?6 N9 l6 q: _  x y     ;; these are the leaf-turtle's offsets relative to center-turtle   v6 w1 v' A( z% u9 O- e. L8 [, z
]& p1 x$ t" [7 s! Q
to new' |5 F' L0 U" t, M8 {
  ca
7 b# q* A- e: z3 F1 V) a  crt 5 * num_of_building  ~6 s4 e$ G( X- ~1 Y
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]( h8 r/ J; `) _3 d9 _4 V
  scatter     ;;keep center-turtle random positions
- Z' o+ m4 A) w- B: B& ^% j  unit_plan   ;;make up the building plan
5 R1 g6 @& J% u" u* x1 t2 R/ i8 v) Q  cend5 J0 d  M: `& R8 g. O; k
to scatter
1 [' T# F# M  cask turtles with [remainder who 5 = 0]; h5 z1 F, m& @$ N$ N  G
[
; e+ s" J- o6 q$ Mset xcor xcor - 6 + random-float 15' A. Z; D6 w: Y  }* j$ g& r5 I
set ycor ycor - 6 + random-float 15& s5 M6 I7 @3 r6 a2 v
]
% ^5 c# e1 m% O, l# G$ ^' D. hend
  r$ E5 k4 O& I( `7 a6 vto unit_plan
8 i+ U- |9 I4 i$ x8 `8 Oask turtles [
: F& i! x" U. F6 m: G' Cif (remainder who 5 = 1) [set a who 8 G' Z  c4 g8 U- F
                          set x ( 0 - Wid / 2 )
" a, m8 _' t9 j! }8 n+ P7 u                          set y  Dep / 2 ]
' z) @& T& f% `3 ~           set b  int (a / 5) * 5/ }0 _, F  Q- @: O3 @
    setxy ( xcor-of turtle b + x )6 ?' X1 s$ ]+ o
          ( ycor-of turtle b + y )+ m: h  S+ X0 G8 v
if (remainder who 5 = 2) [set c who
+ Z* C- P9 u& D6 G% e' o. h# q0 d' ^+ t                          set x ( 0 - Wid / 2 )
4 K4 W3 }( u  O: h- s$ |% G                          set y (0 - Dep / 2 )  ]6 s0 Q5 }2 b# o% s1 E+ J" O
                          set d int (c / 5) * 5$ v& _1 y2 ~6 J2 E$ S: _! t
   setxy   ( xcor-of turtle d + x )
; T- m  I/ C0 t( s6 Y1 w  a# \           (ycor-of turtle d + y ) * u1 s! @: Q1 l# ^
          , v6 p( h5 R+ B$ {# `/ x7 i
            
. I' j* o+ g! K2 h) Lif (remainder who 5 = 3) [set k who
3 U9 ?. {: e1 Y8 k4 `                          set x( Wid / 2)  
: U+ W; h# ?- k                          set y (0 - Dep / 2 ) ]
5 ~5 [7 C" [3 ^+ t                          set f int (k / 5) * 5: \8 x, D  x& q) ?5 U* {" Q9 W( v
  setxy   ( xcor-of turtle f + x )7 u! V7 x! b/ L! X5 v8 q, ^- @
           (ycor-of turtle f + y ) - n- d( P4 Q$ z( b3 v
           & [# W# r+ t4 r2 U
           
: g5 M% {+ P( j/ J( g" z: G$ gif (remainder who 5 = 4) [set g who8 v+ Y8 h3 K/ }( s1 A
                          set x Wid / 2
+ H; M/ p  e- X% ]                          set y  Dep / 2 ]
. u2 F: f+ T. O1 H' H7 a) X  n9 [. P                          set h  int (g / 5) * 5
6 o* E* O  u9 A" x7 E: f6 f! U  setxy   ( xcor-of turtle h + x ); R2 N& D' F  h7 s
           (ycor-of turtle h + y ) : c  K3 j3 n/ L6 M/ K  n, O
                          
# |! Q; I- n1 G2 x2 Y                          
0 f8 g6 ~( p8 ~" e5 r3 |/ a                          ]' V# q1 G0 J- F2 Y4 s
end
  L3 u! R9 L, _' H6 Q8 L; F3 F$ ]' ]& {
" E# M4 Q# ]  P[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
% `& f) n: u1 A; V/ K6 N+ j应该是$ \3 X5 Q; K7 H1 C1 p7 d
ask turtles [( |: z# a4 ^1 C8 L2 F+ n+ k8 Q
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) C; |' y* g# r0 c
                          set y  Dep / 2 . ?- N2 U( r3 Y; p; e
           set b  int (who / 5) * 5
4 C# i, r- q+ Z  X- k7 A/ o    setxy ( xcor-of turtle b + x ), m- f4 t# J# ?& m3 H
          ( ycor-of turtle b + y )]]
7 M9 b  O! `  Xend+ H+ H& o3 ]0 `& T* x
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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