设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8197|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。# D" O. S9 v& L# u) F3 e

( m6 y! M. b" \% G但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。) k: [5 O# D* j- W: U% x) \" Z, Q

) n! c" @$ O7 b/ L/ H8 qturtles-own [a b c d k f g h2 u# a; i+ L' W
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
2 @7 v% g: G  n8 q1 s/ n: n9 q]
5 X: P1 D' |  A/ F  Eto new
* g: J! h, a. Z  ca
4 y4 S' b/ m  o3 }- ]  u3 a  crt 5 * num_of_building
& H3 h" o' h0 Q  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
% ]2 U8 B& }! `: P4 _  scatter     ;;keep center-turtle random positions ; H* R" K, ~1 m" a
  unit_plan   ;;make up the building plan  V8 y/ Q" }! u5 z4 o; O: o  \
end# [& ?' |- P+ K( ]7 R
to scatter% }/ B6 @, C- \- w, i# }
ask turtles with [remainder who 5 = 0]# i2 p! Z/ f! P' v8 r
[! d- Z' ~6 t& @" |( U8 U% k1 j3 R% ^
set xcor xcor - 6 + random-float 15
0 Q7 k9 ~; [( a5 e! I7 n( q% Nset ycor ycor - 6 + random-float 15
3 w2 ~$ @/ \: ]2 T]: W% z* S) ?2 H
end( L0 e* ]+ {2 P/ t( F7 a) o% b
to unit_plan & N- [( r0 {: i: d  E* i3 I
ask turtles [
1 {- x( j: ]: eif (remainder who 5 = 1) [set a who 8 }8 R. ^! U8 |7 A5 e# N: {
                          set x ( 0 - Wid / 2 )
  _. c6 h: o6 L( V2 z% J1 |                          set y  Dep / 2 ]
5 X2 V) O+ ?2 ?6 S! ~5 j1 B2 y           set b  int (a / 5) * 5- R! @8 E1 V# z. v$ e
    setxy ( xcor-of turtle b + x )+ G" ?' H- E: N7 r# D
          ( ycor-of turtle b + y )* O2 {" Q6 O% f. I. D4 |: C' s
if (remainder who 5 = 2) [set c who
7 E! d  M7 I: {2 ~% I; Z' w* o                          set x ( 0 - Wid / 2 ) 9 {" x0 Q  ]( M8 h' L4 Y
                          set y (0 - Dep / 2 )  ]3 X7 g# K( C: j7 D
                          set d int (c / 5) * 5
5 x4 \) k) r( j9 `9 v6 @   setxy   ( xcor-of turtle d + x )9 p( h: x9 [% m3 }
           (ycor-of turtle d + y ) 2 x2 [# `$ p: H7 J% [$ i
          # q2 f$ F  j$ Z1 }- t6 c
            
+ B' O) O* t0 \1 M& a% gif (remainder who 5 = 3) [set k who
' c  V; F1 I9 O$ `0 T2 Q) ]                          set x( Wid / 2)  
- s0 {, Q! X  h8 k, ]8 I) G                          set y (0 - Dep / 2 ) ]
8 F5 g- e* S, s9 Y                          set f int (k / 5) * 5$ B! o. ^& d* h3 }1 r! _
  setxy   ( xcor-of turtle f + x )+ i, [  a1 m* W; u  |' e
           (ycor-of turtle f + y )
5 k. M, ^) H+ D- u           $ @0 T, _8 Z4 s; h1 L
           
/ x' C" W6 R! @/ d+ j. P' P6 lif (remainder who 5 = 4) [set g who" q9 \9 Q/ Q' h/ ?# z: r8 t
                          set x Wid / 2 1 H4 @8 k* Y/ a
                          set y  Dep / 2 ]) F0 L& C# G( z" @/ R
                          set h  int (g / 5) * 5! |) _! u0 U; i) Q4 X5 y" A- S5 x( @0 P. U
  setxy   ( xcor-of turtle h + x )9 E" X. ~/ c+ `7 O! `/ T
           (ycor-of turtle h + y ) ) p5 N& O6 g* {2 K+ a
                          
6 s3 K' G! ?& j* x& b  F                          
+ |; W7 ]% w6 |7 y- }  H7 w                          ]/ z5 v- \$ m. ]" s
end
; h/ Z1 s" X8 [+ ]6 ~6 G% R! z, E1 _8 n! Z
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
3 U, b# J0 V% L  f  {- _. ^应该是
0 h2 X: T6 C1 H7 Z" o+ yask turtles [( D/ X7 v/ r2 p; I. m
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
- H8 t3 ~3 p# ~4 U0 N0 s* n                          set y  Dep / 2 % }9 C0 D+ H# T; w1 m- Y7 n! ^
           set b  int (who / 5) * 5
! S- Y! Y" I9 a1 d+ J% A    setxy ( xcor-of turtle b + x )9 r5 C8 A" i) \. v; Q  x" e
          ( ycor-of turtle b + y )]]
# y4 B. J. e8 f: E) Z* s. {end
! O* J3 o( w1 j4 N8 N2 v$ J之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-17 11:52 , Processed in 0.019681 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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