设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8428|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- A- `* G3 ]+ Y, @  s) x3 z* x5 j+ D( b1 i; i
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
/ I7 E8 i3 a6 e) D( t0 Z" U& c1 V  h4 a& X6 s, ]
turtles-own [a b c d k f g h  J. f8 E1 ?; B2 K
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) {1 H8 T/ c- [' w. z6 [  r  X]* d, {5 o2 N5 D
to new
' L1 |0 Q8 i5 v7 b$ D! I  ca
. U$ ?  F) `1 w; o  crt 5 * num_of_building2 P& d9 A2 l/ G" K
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]9 d/ [; g2 g  ]" U) p
  scatter     ;;keep center-turtle random positions
" e! S  L6 ], E1 t3 T" j* q  unit_plan   ;;make up the building plan& L. W  z4 K( j' [: X/ A
end
& F6 ?- v. r- }$ V- K. Hto scatter
* F) n5 y! S+ a( j4 P4 hask turtles with [remainder who 5 = 0]
4 R6 r! A; A, a' g[* R: P+ r$ \1 h( n
set xcor xcor - 6 + random-float 15
3 q- x, |% k' tset ycor ycor - 6 + random-float 15
, z! l0 i  {- Q+ {& O; z) ^4 Y2 O]
3 q8 u) l, R' ^end7 {6 }" a3 s% z4 Y# s6 u0 `
to unit_plan
/ |; T! t8 P( Rask turtles [
! ]9 ~" n' p$ b- Y+ C' uif (remainder who 5 = 1) [set a who
9 S" A) K, y. L8 p                          set x ( 0 - Wid / 2 ) % G4 R& D" w; H/ \( q
                          set y  Dep / 2 ]
( y: l( |  x/ s$ ]           set b  int (a / 5) * 59 q" q! Q+ R' l
    setxy ( xcor-of turtle b + x )
( b2 C$ d' p9 J          ( ycor-of turtle b + y )4 d$ h4 W% ?0 \7 r1 f
if (remainder who 5 = 2) [set c who8 ~2 ^$ K! f! Q
                          set x ( 0 - Wid / 2 )
/ X' N: Q+ I3 k' P                          set y (0 - Dep / 2 )  ]! g, X' {, R! P1 f; ]
                          set d int (c / 5) * 5
: M3 k/ n" g) E0 F   setxy   ( xcor-of turtle d + x )$ C5 {8 Z2 M1 i4 Y4 e$ T
           (ycor-of turtle d + y ) & {- Q; s- _7 C. F  X
         
$ y+ y' \3 Z6 `' I            
+ J/ D0 w4 [/ U* W; {2 pif (remainder who 5 = 3) [set k who2 ~, M. S: {7 M/ {- }
                          set x( Wid / 2)  + m) @- j- q% Q
                          set y (0 - Dep / 2 ) ]8 ]8 [3 o& q4 Q; y4 p" B: P( Y
                          set f int (k / 5) * 5
0 s2 z4 M8 u# b1 e+ R) Y) j  setxy   ( xcor-of turtle f + x )
. c9 {7 a% G) o5 s  C           (ycor-of turtle f + y ) + l+ w" B9 a* B/ H8 g$ G: D3 X
           0 B- O% H' L# @* F$ Q+ Z2 b: m3 r
           + v6 b4 q  U* a$ i5 x4 x4 e9 }
if (remainder who 5 = 4) [set g who0 d7 ?$ l- Q# n! A: p( }7 X; `# V
                          set x Wid / 2 5 a+ v; G! J0 k9 S5 u$ p; h) ~
                          set y  Dep / 2 ]
0 q# n! q. A: E: A; s" x$ r                          set h  int (g / 5) * 5. p: x/ D+ S* g  {# V
  setxy   ( xcor-of turtle h + x )
/ ?, L; N+ {+ J           (ycor-of turtle h + y ) , K1 u  l* d$ k
                          ; E: B4 O+ b$ o: y# {; D
                          * x8 ]3 I9 s/ H' p" i1 X  _0 j  f
                          ]; z* d$ ~. u* {; l3 y6 h2 F8 s
end
5 k( v! f$ `/ m& F3 d" f  \# E
7 C4 O3 R4 {& B7 m  J[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,7 g! d' W7 Y5 u+ L2 n2 a, q
应该是; u8 R2 y" z1 R- y% T
ask turtles [% K4 p/ j' H& E" u5 ]
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
! K* B3 \5 _$ y$ D* g# B                          set y  Dep / 2 3 n" k( d* r8 \2 y8 [
           set b  int (who / 5) * 5
( a; r6 B9 u7 U& O8 d    setxy ( xcor-of turtle b + x )
& a/ `) ?$ ]7 Z# g8 }9 T          ( ycor-of turtle b + y )]]
- M- d: f7 Q2 L4 }4 Zend6 E+ a  g' B9 V4 K4 w% ?
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-25 02:11 , Processed in 0.016173 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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