设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8965|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
8 _, M" w! A2 V  m1 E  S: \
6 y6 F$ W: r' }( O# J. Z, |但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 Z. y# s# V! Y
1 R# A& ]% {8 o( A# y9 Q8 \
turtles-own [a b c d k f g h  {9 a) q8 P* p* V
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
1 X. x3 y. ]8 A/ ^" E  N( `]' N! u. @0 c" w) {. x1 [& x+ _: ?
to new% A- ?- p( h  V$ R+ _0 k( ~7 M( H
  ca# G  q5 I7 t# E9 [
  crt 5 * num_of_building
8 o+ k' p6 c2 i- ~+ a7 o  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]9 y2 ]6 z, r* J# A5 {
  scatter     ;;keep center-turtle random positions $ I) \1 j% e" H& ^7 `- F
  unit_plan   ;;make up the building plan5 b  L0 @( n6 `; s4 z% ~
end
3 Z% D( `- G1 u6 p7 Eto scatter/ ~- ^% T1 F% y9 \# @7 e
ask turtles with [remainder who 5 = 0]% r  s. K+ U  x: `( R3 c. X, j
[7 E2 i" Y9 l7 n
set xcor xcor - 6 + random-float 15
# g/ R5 b% O. u/ F# ]set ycor ycor - 6 + random-float 15
4 o% p  }0 O5 o2 Q- T6 q]3 g- z: w* {1 m9 x
end0 L2 v5 e! |: Q" i# m
to unit_plan " m2 }: v1 S* N9 W; D
ask turtles [
& X. [# U& A7 X: X" M$ bif (remainder who 5 = 1) [set a who 2 S# ], F( \& \1 T5 B: T
                          set x ( 0 - Wid / 2 ) 5 \3 e8 W! \6 T) [( X- I5 j
                          set y  Dep / 2 ]( }" `) w5 `1 B5 f3 q% g
           set b  int (a / 5) * 55 z( B- a# w6 c+ K& ?
    setxy ( xcor-of turtle b + x )+ T2 k2 q$ d1 c) J
          ( ycor-of turtle b + y )6 U$ K' A$ [/ ?, Z" ]
if (remainder who 5 = 2) [set c who
5 H, P. \) b3 ^/ N  K9 B) w                          set x ( 0 - Wid / 2 )
- R& @  X& [2 e  J& m5 F6 o                          set y (0 - Dep / 2 )  ]" W% n% F1 @( n! ?3 i0 f
                          set d int (c / 5) * 5$ [6 n" t/ m# X7 M# ]* `5 E; v
   setxy   ( xcor-of turtle d + x )* G8 N* W+ O, T( I' O  U2 l) y. i- e
           (ycor-of turtle d + y )
+ H+ w. ^! W! f0 F         
  W0 Z0 a* W" c4 g3 ~5 @% e            + m7 ]  c4 A" w+ c
if (remainder who 5 = 3) [set k who
6 k6 |- W3 Z8 }; ?. g                          set x( Wid / 2)  ; B$ c3 w2 M/ @6 W) H9 P
                          set y (0 - Dep / 2 ) ]' G, h# G5 N8 Y8 d& F# U9 B. k3 b8 ?
                          set f int (k / 5) * 5
" p" W/ {9 I$ J4 q3 ~. b  setxy   ( xcor-of turtle f + x )
1 d, d8 r1 }6 e: O           (ycor-of turtle f + y ) " T% Q: i$ ~3 g5 N+ ?2 s: W* F  o
           ; n7 ?1 {1 |# @/ _" h
           
) @3 ~6 \2 a' F! U1 Eif (remainder who 5 = 4) [set g who( E, C0 @5 O3 W, c1 R( P/ M" E0 k
                          set x Wid / 2
* H8 k5 Z6 P6 j5 h9 R6 s                          set y  Dep / 2 ]
$ l7 |6 N6 d3 Q5 \( q2 x  v                          set h  int (g / 5) * 5
4 p+ U: j, }  l) ~5 `  setxy   ( xcor-of turtle h + x )
+ _+ I: \  L0 P8 y  q2 T+ j$ j( o1 Y           (ycor-of turtle h + y )
4 n3 t- D. ~/ m$ u7 n( Z5 c                          
' m% {; ]/ x) W. p2 K; B+ x' f                          3 |' Z4 n, ^! [% O
                          ]
! U1 G( |8 I2 l, r& Dend
7 r- b% j* t' j! q0 p" I+ D2 N& @0 A+ b8 _( Y
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
0 n* z3 |$ E4 T' V: P$ Q! a; X应该是. u) V! m/ j$ N- v/ K
ask turtles [
! c7 t( @# b: H7 c$ v- [if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
* }' [2 L3 V. e( p8 |7 i; }( I! q                          set y  Dep / 2 ' u& o% W# c2 M: F4 d, S4 N1 Q
           set b  int (who / 5) * 5* z7 n, a8 j- `2 m
    setxy ( xcor-of turtle b + x )6 j' j# y* Q/ X2 }! H' v9 `) h# [( f+ g
          ( ycor-of turtle b + y )]]+ V: l! _4 L( D- F% g$ _8 M
end
5 [& y/ [' H6 L* h0 x之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-31 17:32 , Processed in 0.013648 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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