设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8772|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。) x7 I6 _" o% }7 w2 \
1 Y9 l$ @: M# a
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% y' V& {8 z, j; b" P5 i- q3 G
9 ~% ?  u1 E# ^* h$ K6 kturtles-own [a b c d k f g h
; v* o* B, I5 {6 {0 z  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: u% T# Y& c# Q  H]& Q4 R* o) \7 [, Z$ a3 z/ J! |
to new
% h+ Y& A+ u, T7 l  ca
. R1 b( Y. J% u: R. R  crt 5 * num_of_building
3 R. D1 i" G& B: @; l  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
1 b. o9 r2 l0 L. q" O8 x  scatter     ;;keep center-turtle random positions
# l0 m7 ~8 ]& B  h* ]1 y  unit_plan   ;;make up the building plan
1 V3 {2 ]7 D6 U6 kend
2 D& e8 c* I  f/ ~7 pto scatter. o+ r& j1 `* O+ M' ~) w1 @
ask turtles with [remainder who 5 = 0]9 }, ^' H0 \" b4 y* t
[7 q" ^4 {9 H& _" o# M3 L
set xcor xcor - 6 + random-float 15
" D. Y/ g4 ~) ~; \set ycor ycor - 6 + random-float 15
5 `' P8 k8 L5 F- `, x) Z/ v]3 W6 f  A- z7 c2 j+ B
end3 t' @: _7 ^0 @! }8 ^* f
to unit_plan 2 q3 ]% o% Y: `- e6 u
ask turtles [
& [6 }, i0 o+ s8 J8 ?if (remainder who 5 = 1) [set a who . w" o. j* k, p' x3 h7 I
                          set x ( 0 - Wid / 2 ) " C0 \2 F5 F2 N7 ]2 D  H' c
                          set y  Dep / 2 ]7 Z! ]# o5 F7 |  ~( P
           set b  int (a / 5) * 5
- y" I2 ~! k* w2 ~    setxy ( xcor-of turtle b + x ): N4 e; w; T# u2 I# Y) y4 J
          ( ycor-of turtle b + y )
2 X* w  R; b/ o4 ~8 hif (remainder who 5 = 2) [set c who
" g" Z8 A1 O" y, i+ e% Q5 q                          set x ( 0 - Wid / 2 )
" J2 {6 }0 I6 F6 X/ y: Z' }7 @# u                          set y (0 - Dep / 2 )  ]
( t( L4 ~% v( x3 P                          set d int (c / 5) * 5
+ `# f5 R. T1 @- V3 E   setxy   ( xcor-of turtle d + x )
" h" G1 \4 @% d4 Z           (ycor-of turtle d + y ) ' t1 h. V: K0 v* d1 V) R# x' J' n
         
! }5 c. Z; |. R. B. D# F; j            
* l  P' Q4 ?- J6 [1 g. k" _if (remainder who 5 = 3) [set k who
0 }: i/ j' \; J5 l# M                          set x( Wid / 2)  , n! @% F6 @0 L! s6 e; u
                          set y (0 - Dep / 2 ) ], _; o3 V6 S0 Z! v
                          set f int (k / 5) * 5
: k9 l  e; I2 _& C: e  setxy   ( xcor-of turtle f + x )4 Q! o/ K% g9 s5 r! H3 i: o: E
           (ycor-of turtle f + y ) ( z, I/ M: n, N* N# [+ ?
           0 @' y7 u. \' {% H4 N& o9 z
           
  Y, [- C- M; O; g8 v, Yif (remainder who 5 = 4) [set g who+ K1 T9 @& l/ S  k0 w
                          set x Wid / 2 / n7 B6 B( g4 X2 V
                          set y  Dep / 2 ]
9 k3 p4 A" o5 N) t; _                          set h  int (g / 5) * 59 [' O' y4 X+ o9 z! d+ K' M# |5 O
  setxy   ( xcor-of turtle h + x )$ k* K2 H- _6 Z
           (ycor-of turtle h + y )
9 x, u: ~3 A( M. p) }& W                          3 c! Z, t! C) r
                          # {$ d( I1 i6 C% Z, Z; `! ]1 [- L& m
                          ]6 R: u3 |; O! w# J
end* b: F# K$ s9 `& w' c! \/ ?
" Q- w. h$ k$ t# c7 ~
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
* z; @0 q, y, L' S* f, y. r应该是
5 N, ^4 Z$ j! ]4 x' _% Sask turtles [& |4 p  _: e0 i1 P& ]0 E
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
. s' u1 }: ~& a                          set y  Dep / 2
/ N0 Q  K) q# _) q           set b  int (who / 5) * 5
, b* {1 Q, m* e4 ~& z. V/ n    setxy ( xcor-of turtle b + x )' a% S3 Z( e6 n8 ~3 @# j
          ( ycor-of turtle b + y )]]
- }0 y* g8 a, ?; R2 Gend
% Q; G( b; R+ [7 L之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-2 01:38 , Processed in 0.021428 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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