设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7035|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。8 E7 `! [, x( i( T1 }0 \& C
/ ?1 ]' u1 [3 d  T: c
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
; n& V" s# b1 f7 m; d5 r/ R- Y- M& |, V
turtles-own [a b c d k f g h
9 d1 C$ q. D) F) R4 P7 n; `  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
  P. _+ }" M' I+ F0 k' }' V. Q]3 L* L3 u7 r8 Z, p/ Q( O1 S
to new0 n4 ~6 \( D% Y& u' H7 Q  e
  ca8 x9 V. u2 G& d5 x0 O
  crt 5 * num_of_building
9 t! ^0 m* R8 ^  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]) s9 W* X9 b8 f7 ?
  scatter     ;;keep center-turtle random positions
2 @' i" V- I( k5 i  c8 ~8 X* F$ {& J  unit_plan   ;;make up the building plan
5 y- `, J5 \& k, V" j5 n1 b0 Gend
  ?6 \# T5 ~+ N- d3 C( Eto scatter% w0 a2 @7 s. i. |
ask turtles with [remainder who 5 = 0]2 Z, n- X4 _$ _* v% E
[$ P! B: Q: q& o5 n2 Y3 o5 Z
set xcor xcor - 6 + random-float 15. I  x, l' O# G7 D: X' M0 `
set ycor ycor - 6 + random-float 15' e5 ?! ?2 J7 X9 J
]$ K3 i5 }3 \5 p9 z# k9 c4 A
end$ r( N, R- X  q4 G1 F1 v# J
to unit_plan 9 I. F4 s8 K4 f7 }* {6 w7 ^  p. x
ask turtles [
: v8 H7 l3 r8 K7 U, f! [% gif (remainder who 5 = 1) [set a who : \) K2 k$ Z( a( D( ~$ n3 H
                          set x ( 0 - Wid / 2 ) 5 e4 {& s1 g7 G* i0 u3 I5 H
                          set y  Dep / 2 ]
! k4 g# Z2 x8 N: c( w           set b  int (a / 5) * 57 `2 T9 R- S1 B/ {# S0 \: A
    setxy ( xcor-of turtle b + x )  `0 M8 q$ a$ g+ [; u" y8 ]: ~! @$ V5 Y
          ( ycor-of turtle b + y )
& _! I% B% p' c! `5 aif (remainder who 5 = 2) [set c who6 `1 [8 V9 I4 k9 l
                          set x ( 0 - Wid / 2 )
- Z- k- z& d% {2 x9 l2 e                          set y (0 - Dep / 2 )  ]
, H# l' B# C- O; j" n                          set d int (c / 5) * 5
# I% ?! i! j# |- Z3 l5 i; ]! P   setxy   ( xcor-of turtle d + x )7 |* z6 F3 [8 H' x# T1 X+ r
           (ycor-of turtle d + y ) / g4 Z7 I4 V- k( L5 T/ k& f; ?$ R
         
& A- H7 k. c( K2 g& A. L9 f            
1 V; C$ W. K) N$ A' ?7 x7 I' Iif (remainder who 5 = 3) [set k who
% J8 x0 t/ k$ P% K& q                          set x( Wid / 2)  : B: v: u! v/ Y7 e1 w
                          set y (0 - Dep / 2 ) ]* J5 }7 q% [# u! }' A, i1 ~, J3 |
                          set f int (k / 5) * 5
' H0 ~  ~- J( X% u$ B1 O  setxy   ( xcor-of turtle f + x )+ R2 C0 j. a7 ^$ R- w
           (ycor-of turtle f + y )
) _# P6 q2 [; p% [( E5 j& y7 ?( c           + \* f6 z% i5 `+ h/ @
           ( H# K1 [1 h) h  e9 V
if (remainder who 5 = 4) [set g who( I) @4 B- |3 R$ ~* w$ s2 X
                          set x Wid / 2 0 m; u+ ~) C" p+ t! a
                          set y  Dep / 2 ]
: O; T# O( N) t$ J  }                          set h  int (g / 5) * 5
; R8 Y7 k0 |. [( @% ]0 z# E  setxy   ( xcor-of turtle h + x )
! {+ F" X- h7 C( ?7 d2 p           (ycor-of turtle h + y ) 1 d$ O' Q+ ]6 n$ z  M
                          
+ g( ~+ F4 E% w                          
; X4 o4 Y- n" A                          ]% j# k2 \1 T5 Y$ b& }
end6 N, D5 s6 @4 f* E7 c; p
: }. L0 h" z5 @* s1 U7 v" F
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 x: J' f, e; [- U: @$ O
应该是5 N5 \7 F# C+ V4 L- F; r
ask turtles [9 E4 {* R. y' l& o% |9 ]* |" ^
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
6 q5 ^- r1 `+ ^6 n                          set y  Dep / 2 7 Z$ i7 L. r) F' {
           set b  int (who / 5) * 5
( w2 O% ]. E! c3 h5 X    setxy ( xcor-of turtle b + x )
) L/ a' E0 C1 E1 L8 @, R          ( ycor-of turtle b + y )]], R3 ^" w( S3 o4 c& H5 Y1 j6 S$ X
end
$ P/ V/ C2 t' U, k' G; ~8 Z之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-20 10:05 , Processed in 0.019519 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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