设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8917|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
9 r$ i2 B4 ^8 m+ P8 w
( d) ?# k0 H8 {9 u! F( E但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。) F' u; g1 D5 B2 ~1 o& z- I% v- v
! c* B9 G# P& _( a( y! a4 z& h3 U
turtles-own [a b c d k f g h
% E5 \# n8 C, u3 D. {! j  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , f- X! r; \1 E) m: `
]
, z, A6 n5 [' o* _to new
, o( O: V) R! N' ~/ Z7 Q: ~! {  ca1 t. B1 Y4 Y4 C4 b5 h: m4 Z
  crt 5 * num_of_building
# n& A( l) y5 d/ P! l5 y  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
1 y  m) a& R9 y2 w% {: B7 `. L  scatter     ;;keep center-turtle random positions / X$ P. O. Q. i$ b& i$ s% i  @3 i
  unit_plan   ;;make up the building plan1 b4 U3 u. l* K- d* O0 C
end) z! I' \7 [( t. C* F
to scatter
/ p7 V! `* }8 u7 s( aask turtles with [remainder who 5 = 0]9 }5 [# q6 A- m
[
+ F0 a" |; p4 N! d3 q  E% R' rset xcor xcor - 6 + random-float 15* e+ Y/ r6 H+ P& \0 m
set ycor ycor - 6 + random-float 158 X# ~- [7 B0 w) b, h, l( V/ u
]8 j( |: f6 O. T- w# E2 J
end7 W3 \8 z# [2 z) ?( {8 `
to unit_plan
2 R3 `/ x" ^9 ?; yask turtles [
$ W( k0 d; }* K3 Q1 A6 lif (remainder who 5 = 1) [set a who " y7 i1 [* A9 z  u  e
                          set x ( 0 - Wid / 2 ) 5 ^" w6 |  G) a: U2 `1 _
                          set y  Dep / 2 ]
) H; [* m1 y. [- L8 U) y7 ?. N           set b  int (a / 5) * 5, Y/ g8 A( u$ W3 D8 u1 s) y" m1 R
    setxy ( xcor-of turtle b + x ); z' O3 Y4 s4 x: c# h) f
          ( ycor-of turtle b + y )
6 E1 M1 {8 M9 o7 R4 u  x- Bif (remainder who 5 = 2) [set c who4 G& U, }8 j1 S* @
                          set x ( 0 - Wid / 2 )
$ p0 O6 q' p; n! W* X- H                          set y (0 - Dep / 2 )  ]
; g9 V9 T: d3 S' |                          set d int (c / 5) * 5# b8 [8 V* O7 a$ g! i
   setxy   ( xcor-of turtle d + x )
; g9 ^6 Z: J* |8 R, N3 q           (ycor-of turtle d + y )
, D/ Y9 q+ w3 B, e) T         
1 Z) z1 @# C" J. s( J$ N4 X% H            7 [9 Q0 T+ t6 t; u, v# ^; t
if (remainder who 5 = 3) [set k who2 S; P( P( R4 W% v/ c& N% f2 p& a$ J
                          set x( Wid / 2)  # A3 X1 C! B2 G
                          set y (0 - Dep / 2 ) ]- o5 p6 i% W4 D! J
                          set f int (k / 5) * 5, \  Z4 A& v9 o
  setxy   ( xcor-of turtle f + x )" K( T  q7 v$ l7 R# Z5 V) Q- ]
           (ycor-of turtle f + y )
, _; s' {3 x3 g& G8 @1 T& Q           8 }8 C: c0 r  s6 ^$ N( S7 U
           
8 g- V5 i6 Y) Z9 {if (remainder who 5 = 4) [set g who; q5 E7 R( C5 U2 F$ i
                          set x Wid / 2
6 G0 a, x& ?" A6 U1 R5 ]                          set y  Dep / 2 ]/ i& F5 d+ Z. Q3 g  F" j
                          set h  int (g / 5) * 5/ B' f0 G$ R4 Y6 V' ]$ ~# b4 U
  setxy   ( xcor-of turtle h + x )
2 Y0 j# |6 c$ [6 A' t, q4 Q2 Q           (ycor-of turtle h + y )
" E$ ^3 v6 l9 ^' ^) V( ^) l                          
% U  Z+ z* v) M& N+ y5 c                          7 I. }* K3 q6 _; R* H" ?
                          ]
& Z4 t. H5 d* }0 O/ d3 N( L4 vend6 e; E7 @) A8 g2 a2 F4 J' q5 p! M

6 _" m. `( |% g. u* S* Q[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- b1 A# j$ e3 T$ s6 b  v5 n
应该是
; r% ^- l# J. n+ [% U$ X9 Oask turtles [
$ ~! a% M' t$ u: T  vif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
% _! b  |7 B% O$ M$ t/ K! q                          set y  Dep / 2
: k5 x  n7 X8 o, }6 B           set b  int (who / 5) * 5
  i4 b. E+ J/ E1 o    setxy ( xcor-of turtle b + x ): N6 J: C/ O( e5 v( Y
          ( ycor-of turtle b + y )]]
8 \$ e1 I" u) Iend
& z# M) m; {0 z- ]4 ]5 ~. @之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-23 17:22 , Processed in 0.017103 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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