设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9026|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。6 t8 m! I1 M0 F) J& U: Q
& w" G+ ~7 ~( E2 j1 M
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。# g, I9 x5 ~# L5 H
; g+ W* f! {  ^" J, C
turtles-own [a b c d k f g h/ I& v* Q# T8 r& q1 ?8 S! h
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle $ B, w! r2 j/ R+ Q2 C) n# K6 i( R
]
, L7 N" e# A+ @; \6 {to new
; ^0 {6 b7 i2 `  ca
: |$ W' d7 _1 w$ ]  crt 5 * num_of_building
0 N' J! {  |$ H  z) w  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
; [4 F% ^( h! M3 j$ R$ J+ U7 M  scatter     ;;keep center-turtle random positions
& x# Y2 c# ]% L" V: L" J  unit_plan   ;;make up the building plan; X3 ?* p4 Q/ |, Z
end) X. l4 N* V. ]8 N$ n3 a0 T. M
to scatter  B; j- z! {- p" y% Y( B* Z4 {5 ]
ask turtles with [remainder who 5 = 0]
6 P/ _) V! Q7 x/ v[9 a  o) H* Y% Q, z
set xcor xcor - 6 + random-float 15
$ d! h# h9 C- X2 r- Cset ycor ycor - 6 + random-float 15
4 }- k; r$ r! F* T% }0 l! o0 t7 X/ R]
  U; t; h( d( H% n3 J$ Y7 Nend
, j9 O- e& O) w+ F8 qto unit_plan
6 P$ n0 p& ~8 p5 H# _5 p( V6 }ask turtles [3 Q$ X1 ^( {4 t7 ]3 l' G
if (remainder who 5 = 1) [set a who / Y1 _5 \2 r% t
                          set x ( 0 - Wid / 2 ) $ G% V# `& m2 V1 V$ Z4 D5 [+ C
                          set y  Dep / 2 ]
% v( X6 y" R8 C           set b  int (a / 5) * 5
: }) r% l! Z) O) F  A& D+ k4 e    setxy ( xcor-of turtle b + x )
( P4 x9 A! b/ J+ Z          ( ycor-of turtle b + y )
" c% S7 y+ j% Qif (remainder who 5 = 2) [set c who; c9 j1 |/ h! \8 {
                          set x ( 0 - Wid / 2 )
) b( \- x3 F2 I7 D                          set y (0 - Dep / 2 )  ]
4 T7 w2 |; p" s6 s& q5 t; @' E' f                          set d int (c / 5) * 5! S; }; X; F$ K1 V' t  {9 H. G
   setxy   ( xcor-of turtle d + x )
' g0 ^* I! d% D           (ycor-of turtle d + y ) $ ]% q6 I* N5 z* p: E1 K, Z
          0 y: b5 ]* Y7 L5 u, q
            
  z! E( f6 m* wif (remainder who 5 = 3) [set k who
3 D  p: T1 s2 C                          set x( Wid / 2)  - N# T/ _  K3 c0 N2 X; H
                          set y (0 - Dep / 2 ) ]
" N+ W6 x% {) s$ C6 S' r0 m+ V                          set f int (k / 5) * 5& q* R4 X6 @8 P2 w
  setxy   ( xcor-of turtle f + x )
; E* R% Z2 c: l2 A2 h2 r( S2 x           (ycor-of turtle f + y ) 1 `6 y( V! h1 t. g7 E6 A, m+ ~2 U2 _% O
           
5 J- p8 X7 B( u7 _. {7 F, s           
  }" t# ]+ D8 P7 a& zif (remainder who 5 = 4) [set g who$ z: t8 P5 G/ h' `
                          set x Wid / 2 2 t/ m4 p' k# f. L
                          set y  Dep / 2 ]; k" I- P  e+ ~- x9 E9 S6 I
                          set h  int (g / 5) * 5
% A5 O; q# V' @$ A# i  setxy   ( xcor-of turtle h + x )
$ A8 @- y. O! i1 `/ }5 O9 k. \, G. a           (ycor-of turtle h + y ) # h, A! u1 O( `6 H  r, S' ^
                          + M/ i% q$ k# s) F
                          
$ D) G0 Z% v" F9 b5 d; q/ u                          ]2 I$ _( L8 U% p7 v0 @
end
$ I; A% `2 H; f  x- Q
+ }6 y0 {/ n3 ][ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,$ }1 k- g; T3 K4 G3 P2 H
应该是; O% m3 J1 _6 f& @( f' H
ask turtles [; n8 l& O  z6 a8 F1 _8 Z
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # t$ F  q6 D% q: `: R* X
                          set y  Dep / 2 ( i# T) D' c2 o# h$ C: U
           set b  int (who / 5) * 5
8 g, W- R8 A4 G+ F5 x    setxy ( xcor-of turtle b + x )4 d2 i+ J7 R5 p: M
          ( ycor-of turtle b + y )]]
( p, j; T4 a+ g  g9 Q" P- Y  |end
, [+ U- D& P5 F' d# l( R4 w! k之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-9 09:03 , Processed in 0.016582 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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