设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7444|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& p; T- j7 L1 ?. u; t

6 }8 M2 d: G' e. {- g* p但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。- y6 |9 B0 Q  X

4 _& l+ [% l: f1 Eturtles-own [a b c d k f g h
! m6 {- N+ [. M- B  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
' M- X" I( w1 X" g5 Y]
# ?: e% ?0 P' ~. B+ D9 Eto new2 ]3 K- z$ G6 f- w
  ca
* j9 m3 L1 ^1 F# {* Z5 @9 o2 q0 L  crt 5 * num_of_building, c, E$ L6 {6 d, ^# i6 S
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
% N0 R2 W. h6 W4 N' G6 r( f  scatter     ;;keep center-turtle random positions
2 f& L9 [% e( m( L/ m  unit_plan   ;;make up the building plan% h! D, E+ J3 Y8 ^1 K
end
+ l5 M3 f' r# dto scatter+ a5 k: a1 W. ?( _! l7 W0 n
ask turtles with [remainder who 5 = 0]6 C! W8 M8 D7 g2 Y  x9 n9 C, u
[( T% q& c5 S' h+ k+ {
set xcor xcor - 6 + random-float 15; p0 E, o- P5 ^# O0 L
set ycor ycor - 6 + random-float 15: b+ L5 c: ~7 Q/ w8 M
]  }" n! _9 @( h$ M$ u" D$ i8 q
end5 s) S! z! _( s* x  z/ E7 \3 V
to unit_plan
& D. p" l# {8 Z7 ?! A3 u8 vask turtles [1 I' R0 p( q5 O, y
if (remainder who 5 = 1) [set a who 0 E9 Y* o1 r# J" [
                          set x ( 0 - Wid / 2 )
9 E6 ^: M- \: f; H) u0 _4 Y                          set y  Dep / 2 ]
4 X* l2 m6 c! T. w1 W2 a           set b  int (a / 5) * 57 ^' D1 u9 ]+ D0 b. z: y2 \  [
    setxy ( xcor-of turtle b + x )
8 A6 O& d: ~% w8 ~7 ^: v( S          ( ycor-of turtle b + y )* h- [( I0 U  n- t% X
if (remainder who 5 = 2) [set c who
  l/ D7 t  {8 z7 a% y( u                          set x ( 0 - Wid / 2 )
! i& @; ^3 A8 h: e( _7 y1 b                          set y (0 - Dep / 2 )  ]
" Q+ k; X1 F: b2 c                          set d int (c / 5) * 5& j8 r+ l$ |# [# i
   setxy   ( xcor-of turtle d + x )6 Z! h0 E( @) Z- y# F2 t
           (ycor-of turtle d + y ) + E5 ?1 I7 v0 W; A# c- m- u
         
0 \% }- B4 k! r- _            9 D# |0 j2 C: g4 b0 V' h
if (remainder who 5 = 3) [set k who
: K6 Q6 v% Y- g" Z9 ~5 a                          set x( Wid / 2)  
% i! }1 n+ t, L9 x                          set y (0 - Dep / 2 ) ]
& |' d2 m8 Z( e6 T                          set f int (k / 5) * 5# e5 y) Z1 D2 w" w. c+ d) N
  setxy   ( xcor-of turtle f + x )
! p$ |. \* l6 y6 u" C( {           (ycor-of turtle f + y ) & f. K( r( l8 x3 U
           4 d# n% f1 X7 X6 s
           
8 l5 [% O; G* g4 |; V! ^4 Bif (remainder who 5 = 4) [set g who
' r4 f1 z. M8 Q) Z- Q                          set x Wid / 2
* x% C; m) X% `6 N5 K' G                          set y  Dep / 2 ]
; h0 F6 h8 h4 s                          set h  int (g / 5) * 5
8 X) C) L' E9 @  setxy   ( xcor-of turtle h + x )
  D& B/ n! A/ s- g, a1 `3 o% |           (ycor-of turtle h + y )
# j& _6 q' w# B5 c7 z0 a  @& G                          * l$ H5 ?3 X/ h. O6 u9 Y+ V
                          3 {5 N0 z" `' K! W
                          ]
' I3 q2 Y$ X/ N! `& rend
$ K* e2 i* H2 y% _* c; _8 N9 Z  u2 ?& K
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 ~. Z# F' I: x, G$ q
应该是& c7 U7 ~- C8 z- h; B7 a2 W3 c; X
ask turtles [3 l! {7 E2 V* n4 {' k$ {
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 5 P" @7 C5 J" ^0 P: j6 B
                          set y  Dep / 2
8 T) [) n' O( Y$ ~           set b  int (who / 5) * 5
& p& f- y& w! p# a- |5 O    setxy ( xcor-of turtle b + x )7 I* ?/ Q% O; Z& ~8 W# Q
          ( ycor-of turtle b + y )]]3 {$ m8 b" |9 D) |. s6 p# `% U
end3 ?6 M, O9 j$ d4 H, N! {
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-11 23:28 , Processed in 0.018095 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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