设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7705|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。  W  @# ~5 W7 n% b
" j4 N9 l3 o0 \
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
6 P2 G; w9 m0 o* {! l# L
" P, d9 u- Y. e# X7 Q1 J6 \" Zturtles-own [a b c d k f g h
4 v9 q! c+ T0 B) T5 Y2 n  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 W9 @: _2 G+ M! _  ~  A; R
]2 C  J/ h4 y) ~* z
to new
" D0 M: ^" Y* X9 a& H  ca
* y0 @- p2 V( r' ^5 k  crt 5 * num_of_building+ k% ]2 J+ h5 P& C
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 z1 \  j4 d- m- A5 ]! ~
  scatter     ;;keep center-turtle random positions
! O  B9 Y& X. }  J- R  unit_plan   ;;make up the building plan
  d+ C  o# E! L" send
' e9 U$ I- ?' ]+ Y4 V4 D9 K: q/ @to scatter7 O# |3 q6 x: f( L
ask turtles with [remainder who 5 = 0]# {8 q% _  H; v
[
3 j) a7 I' f& Kset xcor xcor - 6 + random-float 15; p* O, ?; D: g0 J
set ycor ycor - 6 + random-float 15# Z, f- w! W7 f
]& h6 G( ~" _% J* r" u5 C( W" ~; ^
end
$ Z* V: h; B: wto unit_plan
: T* k3 t& Q4 C! ]# u0 T+ wask turtles [4 E( t: Q/ q/ `* N1 N
if (remainder who 5 = 1) [set a who
$ \+ e1 n7 j- i' X& y                          set x ( 0 - Wid / 2 ) 6 @/ f/ l2 `9 f6 q
                          set y  Dep / 2 ]( H6 g* H; u1 p- Z- ~
           set b  int (a / 5) * 5; [3 t) Z5 X, V  L# e3 ~' X
    setxy ( xcor-of turtle b + x )4 a- V3 Y) P4 x+ ^
          ( ycor-of turtle b + y )
- E2 s/ J$ D- g' C! l: x: z4 Y& b( Qif (remainder who 5 = 2) [set c who
5 E: b0 r, Z: n% g                          set x ( 0 - Wid / 2 ) 0 d3 [9 u- r5 z1 d; K
                          set y (0 - Dep / 2 )  ]
- R2 k( p0 T% e3 s- W4 S                          set d int (c / 5) * 51 `  H" z9 r9 a' `/ l& `& Y7 Z
   setxy   ( xcor-of turtle d + x )
8 r; `% U5 r& N( `           (ycor-of turtle d + y )
# ]4 f2 L( _2 Z          + h0 ~9 _+ p& n2 J' y, o' R
            $ v1 O- T1 e) T2 \
if (remainder who 5 = 3) [set k who$ M  l+ J# y8 Y6 T$ j+ E: F
                          set x( Wid / 2)  # W3 w% {7 z! S  m/ j; u
                          set y (0 - Dep / 2 ) ]- w% h' i; B0 d9 Y. k7 }; A
                          set f int (k / 5) * 5
0 P3 V2 s3 A* L9 A  setxy   ( xcor-of turtle f + x )# o( R2 u* N! y
           (ycor-of turtle f + y )
' P5 |1 B. f4 n4 {" v5 a  m           
0 l! f$ L5 d# }" B2 A8 G           
  ~6 t% x$ G: t! A. C5 rif (remainder who 5 = 4) [set g who
$ Y% X3 l+ Q' q2 ~# c                          set x Wid / 2 # m+ \$ C. _8 L8 ^+ A: p7 T
                          set y  Dep / 2 ]0 a) u2 T! p5 i* w/ }/ t# Z( K, [
                          set h  int (g / 5) * 5
$ E# M2 N( P' S  setxy   ( xcor-of turtle h + x )2 i2 S1 [  E$ K
           (ycor-of turtle h + y ) ' q3 A% k0 {  @3 ?
                          0 o7 @4 V/ f# |& ^
                          1 M$ N) K; {0 J8 T2 F
                          ]& e7 I; Y* G% J( p9 E5 i1 m
end
' u& H" N( \+ W/ I/ _) m, Z3 |  n0 \. h7 Y. T5 Y5 _/ B
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,' m% F4 N. k8 M5 q
应该是( Z$ q' `- j6 h4 s2 R
ask turtles [
' |. |; `$ K: n) ?7 |+ Eif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) / v. ^0 d  M% M5 `2 ?3 v5 T% r! t' A# i
                          set y  Dep / 2 . C; D' N/ _3 J0 Q; U4 @4 |
           set b  int (who / 5) * 5
+ S6 x0 J! P, S3 r1 d3 @& R    setxy ( xcor-of turtle b + x )
  ^/ [4 o2 n/ M/ z5 J# ]5 {' d& s          ( ycor-of turtle b + y )]]0 w3 ^5 q  l/ t" h, s2 R/ m+ b9 a
end# \% t3 h& Z& B: ], a- F+ P. o
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 19:23 , Processed in 0.017546 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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