设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6943|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。( ~: W* B1 s/ U& g
$ J" B8 B  K/ h
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。, z5 g  f- d  o  u1 q
$ i# M" Y- ^$ V4 Q- w7 e) j
turtles-own [a b c d k f g h
8 H( e( g3 `! T5 X" }: l  x y     ;; these are the leaf-turtle's offsets relative to center-turtle : o9 b8 m( {0 H. a: m& h0 _4 b, _
]
7 L( O7 H$ n3 O6 S6 _$ Ito new/ p: z( u2 F/ A0 j, e- [9 V
  ca. E- ^9 P6 t/ W  \% t
  crt 5 * num_of_building
/ H! I. Y/ G" v" |% c2 F  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
) F! u2 l* r6 V% {  scatter     ;;keep center-turtle random positions
0 ^) y# p6 |) \% f6 m( R* k  unit_plan   ;;make up the building plan
# @+ s& S- j% h" [end
2 {2 v& e0 Q. o# Y6 r& Q8 N9 p4 }to scatter) v6 L+ q2 s  T% l+ |3 D% b
ask turtles with [remainder who 5 = 0], p$ H  G* I+ d
[: ]' V3 [" u8 b4 B- e
set xcor xcor - 6 + random-float 15! z, F/ d  n+ }6 f4 a* H9 ^( [
set ycor ycor - 6 + random-float 153 P0 u: q" Y6 X
]
- J  b. B( R1 dend) g# h1 ?5 I- b7 o
to unit_plan
) y3 H; @+ }$ [4 k8 Q5 b# uask turtles [
, a5 l, g3 s3 J, b3 @! oif (remainder who 5 = 1) [set a who : \6 z9 K- O" c- c) I% e
                          set x ( 0 - Wid / 2 ) 8 ?4 [9 O9 Q6 r2 ~
                          set y  Dep / 2 ]
8 D1 i0 o, u( @( f1 |0 O. ~5 V           set b  int (a / 5) * 5
. N- m: [- \; T* ^2 [    setxy ( xcor-of turtle b + x )$ M- ^6 }8 n) b, V9 q: {3 @
          ( ycor-of turtle b + y )
& b; |9 j! S- S" J0 b( uif (remainder who 5 = 2) [set c who
! `7 }2 p7 s9 T1 ^7 U. F/ N                          set x ( 0 - Wid / 2 )
( p2 a- d( S& y- {                          set y (0 - Dep / 2 )  ]: \( `$ X2 H) N: d
                          set d int (c / 5) * 5$ j$ t" Z8 t9 |6 G
   setxy   ( xcor-of turtle d + x ); \5 }1 h, U: P& c+ P8 X9 t7 g
           (ycor-of turtle d + y ) 9 x" v( x! g4 X2 i  R/ m
          4 t7 u9 P; j5 r# L/ d3 |0 q  U/ i6 U
            
% c/ i9 W. m+ D4 {" Mif (remainder who 5 = 3) [set k who6 [5 F/ C" x$ o; p$ o
                          set x( Wid / 2)  ' P9 c+ m3 |% _' G/ k+ K
                          set y (0 - Dep / 2 ) ]
8 y0 ~* e. B& x$ n: n3 {                          set f int (k / 5) * 5
% y" S" F/ l' [3 ?  setxy   ( xcor-of turtle f + x )0 O+ ]$ _9 h! N
           (ycor-of turtle f + y ) - z$ O' F" a- r# D. i9 u1 K: i
           
& \0 E" n# J1 g8 B' l           
9 N7 e+ e+ ^. s  T6 tif (remainder who 5 = 4) [set g who
$ K$ ?! Q1 J! f. g0 _                          set x Wid / 2
! w1 V3 L5 U5 g                          set y  Dep / 2 ]
' q3 ?, O: y3 ]                          set h  int (g / 5) * 5
  ]5 \: b. X; `* g; b7 p" q/ S) s% ?  setxy   ( xcor-of turtle h + x ); u; u1 K6 o: v9 y* C3 M
           (ycor-of turtle h + y ) 8 z' @# \. F1 j2 Y2 Q# N$ B
                          7 R- C# e$ d  Q: {# H# p. F8 a
                          
" Z3 I, M2 R1 c9 [* M                          ]
9 ?/ U- ]3 Y4 m* B' v$ B/ H* pend2 p1 S$ R. V  K1 b1 G6 u: c, t; H' q

7 o3 \, o/ g% @4 M  B5 b4 x[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' X; |% [6 Q9 S% C. U$ b* J/ `! j应该是: L& E  y5 t+ O, l# d
ask turtles [8 r& a1 i: S& u* {* p. i
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
' E# h3 @% B& j' ~                          set y  Dep / 2 ' u: X9 l! N- G- V% ]
           set b  int (who / 5) * 5* _9 x/ q9 n8 j' V: I9 P
    setxy ( xcor-of turtle b + x )# L4 ~; ~1 M$ q% u5 d# w
          ( ycor-of turtle b + y )]]
* }- ~/ p/ ~/ B/ V$ }' qend% w8 n. F  ?! K+ N
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-12 22:20 , Processed in 0.030538 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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