设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7643|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。- H* ]% h7 B' ^: P3 m
, s8 M: t+ h5 B! P
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。3 F( k  I4 U$ E9 a* p* j8 T
3 Y/ [/ y# H" c$ L0 ]# V5 U
turtles-own [a b c d k f g h1 J4 B% Y6 J& |$ k/ Y, D
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle - W! J$ i. Y5 i& ?
]
. Z/ \8 z& I+ f8 ^( O  C; ato new- t3 \- f0 g% h$ D
  ca: |" o) p/ x* \3 o
  crt 5 * num_of_building- `) Z9 d; L0 u( z, \% Q
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
; y# W' g  f7 {9 `  scatter     ;;keep center-turtle random positions + J+ G' w) Y/ [9 ~6 u: S
  unit_plan   ;;make up the building plan' C( [( X6 v4 _+ V" P" g
end  i: _( _* L" ^  Y. _
to scatter" [, \* `7 t" j% I
ask turtles with [remainder who 5 = 0]
+ d6 @+ D0 h: }  g1 v[1 g9 F/ K% I- ?3 k8 m) @
set xcor xcor - 6 + random-float 15
: l$ T8 j; `' x; S1 {set ycor ycor - 6 + random-float 15
+ V8 ^6 Y5 x$ h5 b% h2 L]
% G1 \7 r7 n4 G( x* ~6 wend
/ B; q& ], H0 [/ p) [7 V8 Vto unit_plan
; y4 p* k+ E3 t% rask turtles [
5 \) Y9 [. L9 [; \' N; Q& d  aif (remainder who 5 = 1) [set a who
2 H! V8 n8 k; |, f+ W4 h                          set x ( 0 - Wid / 2 )
  r* _* k: P. I  ?, [/ h6 r                          set y  Dep / 2 ]
8 R# t* W% g! h# I) m" L- R; S  r           set b  int (a / 5) * 5" `) J+ n+ }9 K  b
    setxy ( xcor-of turtle b + x )
; w; K! {! \+ U/ O" K3 W( ^3 F4 N2 C1 N          ( ycor-of turtle b + y )  X% c0 G3 e2 @3 D  w7 E$ b
if (remainder who 5 = 2) [set c who- z9 d6 c3 P: r2 s
                          set x ( 0 - Wid / 2 ) 9 Z& f# j) [+ R. k# E6 k
                          set y (0 - Dep / 2 )  ]
; f7 J% V! i5 A) p( k. Y                          set d int (c / 5) * 5; [6 u. M4 W+ q& _/ r3 D* p
   setxy   ( xcor-of turtle d + x )! }/ d* M; s" ]8 g2 @3 n3 J3 M* L
           (ycor-of turtle d + y ) 7 w% o; l9 |. Y4 [! r3 V/ E
          # C  |( m. @# ?$ J
            , `2 j% P5 O6 X* ^8 M
if (remainder who 5 = 3) [set k who
; e* }1 g$ Z' X3 _7 d( A4 I) [                          set x( Wid / 2)  9 A& ]' M( k" u0 h  P* U3 i
                          set y (0 - Dep / 2 ) ]
  q& b. y# {5 ~  C, X" s" g                          set f int (k / 5) * 5
- o2 V- M' E# I  setxy   ( xcor-of turtle f + x )
& l9 S/ I2 P2 [. c           (ycor-of turtle f + y ) , v# h* l7 ?# y9 g# a5 O; E
           1 B8 R, n1 _* e" v" L
           
4 s$ k* H* N: j7 R6 F1 }if (remainder who 5 = 4) [set g who
* I4 `% F! b% ^9 _                          set x Wid / 2 4 r* E" C  }; Z/ k
                          set y  Dep / 2 ]% \) H! H# t! s
                          set h  int (g / 5) * 5
* }/ M0 a( a9 G: B* _  setxy   ( xcor-of turtle h + x )
1 d- M/ m0 d; c8 ~7 N2 I           (ycor-of turtle h + y ) 4 v* M, u8 s1 N+ ]& P5 w6 {  t: [. {
                          
5 W: x( C3 ]8 |. E. }5 @                          & ^7 ^0 i! B  N; p5 K9 C/ h& |3 f
                          ]
9 I5 _+ Z) A) C! S/ p6 K$ N$ d3 zend
- `. s1 `% Z+ F( V* W6 X# \9 k" s& Y' \
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,1 T& L& j0 |. r' P
应该是
6 ]$ q; x; a  A3 S6 F1 Xask turtles [. {4 `  L) ?  T1 @& ], G7 O
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# i+ `: }% X& ^" W+ K                          set y  Dep / 2 7 B" A; O, @) ]& S/ y2 r
           set b  int (who / 5) * 5
& O: o/ x6 {$ S    setxy ( xcor-of turtle b + x )
5 t/ U  J, e6 @/ |# V6 T+ |- n          ( ycor-of turtle b + y )]]$ x5 a$ D: x/ B; d
end5 o! K1 V  Y' ?& `
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-10 13:46 , Processed in 0.022663 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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