设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8677|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。. y) T5 k  u! C! l9 d- o9 L
6 k1 Z  x/ R0 p4 J
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。; d  U: E+ z# [6 }$ s4 D- l; p
3 S! @: A# b! t7 j8 Q9 A
turtles-own [a b c d k f g h5 k: _4 H9 n0 t9 }- S
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle * f; |; c) V5 M
]. N3 o4 |, t3 E: G
to new1 I, X2 ~- b( Z8 t2 [2 z+ ~
  ca
) S: U# R5 g  J8 B  {/ I- p; O; Y  crt 5 * num_of_building+ F+ O! c* Y* m/ k1 J* V0 G
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
) O# B' z8 T7 A* Y5 k& T  scatter     ;;keep center-turtle random positions + g- g) G6 b. C2 s+ E- i
  unit_plan   ;;make up the building plan9 q4 z/ @* `2 c( C/ Z9 L4 t
end8 ~0 H7 ]- m: p; C: x
to scatter
2 ^" q& H% m7 l* _5 }5 |ask turtles with [remainder who 5 = 0]
) P& I7 t3 z/ c6 l) k1 D- m[
4 k) o9 E1 a- W" q  vset xcor xcor - 6 + random-float 15
7 W# f4 z  C- [% g% aset ycor ycor - 6 + random-float 15' _9 Y! T6 R6 C* ~& F
]
1 I% X+ _$ o% Wend
) N6 S5 m9 h8 p/ N* T. `to unit_plan
0 e2 K8 W1 f( u& ~# P4 r+ `ask turtles [$ g& |8 I6 l& X6 p5 v- J( _. J
if (remainder who 5 = 1) [set a who
2 h% z4 |; D8 ~" O                          set x ( 0 - Wid / 2 )
* Y" ]6 p! e. S                          set y  Dep / 2 ]  v: R- n& {+ r- X* G/ @3 P- j! v
           set b  int (a / 5) * 50 j9 c/ }) T' i; b
    setxy ( xcor-of turtle b + x )
# k8 I! @" \" \, Y2 b7 I          ( ycor-of turtle b + y )
$ o- }( Z  v- e7 H3 k  Kif (remainder who 5 = 2) [set c who! l/ [! t8 J$ j" W/ t
                          set x ( 0 - Wid / 2 )
9 E- W! M5 [6 ?; ^$ g7 a( j2 n                          set y (0 - Dep / 2 )  ]
8 B0 P) c5 S- p% ?# I- f4 ]                          set d int (c / 5) * 5+ m" X: f  q3 Y6 B
   setxy   ( xcor-of turtle d + x ). [  m0 ]0 D$ z1 |$ v" [# ~1 T
           (ycor-of turtle d + y ) ; d' y, E6 b, I9 A
         
! K9 l. H( T* P" p) P. h            ; \8 Z' }" F; u  V- J
if (remainder who 5 = 3) [set k who
+ F: R- t# [! _+ d) y                          set x( Wid / 2)  0 v9 V! I. I( X" [: V1 Q6 K$ }7 A
                          set y (0 - Dep / 2 ) ]! Y9 ^, q2 P' K, s1 G) z9 [$ L. `
                          set f int (k / 5) * 57 D9 U; g# [, C- P" w+ n# S
  setxy   ( xcor-of turtle f + x )
" K  b3 F; N! J3 s/ @: I: f           (ycor-of turtle f + y )
. |- `. K; {4 q! [4 t( ^2 Y2 V           % p1 I* O! C; j- a
           + k5 f5 _2 o: z9 K
if (remainder who 5 = 4) [set g who  u+ ^$ n  v6 L0 A2 H/ ^0 n/ |
                          set x Wid / 2
7 n, e7 y  W' n  u. q: g                          set y  Dep / 2 ]
) H- l2 r- x) R5 G5 k& p                          set h  int (g / 5) * 5
5 ^2 q0 b/ n$ }" Q  setxy   ( xcor-of turtle h + x ); N6 R! Q) U0 t$ ]
           (ycor-of turtle h + y )
6 S# {. @6 ~2 S! T5 P* I, q! s/ ?: {                          
- b, Q* b2 c, T( w& j% L" O8 x                          
. S9 m# v- C- c, K6 n4 K/ H+ Q                          ]
! x6 T% i4 z; m! x' Zend
# ?1 ~0 P) d8 e+ F. ^, _( n$ ?: y2 ?0 B$ _5 s: Q
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
/ \3 p6 o7 a. ^9 |& r应该是! V$ E. V' f! \* [
ask turtles [( A2 c, I5 G7 I; c: x  }; b5 O
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
8 G* N! F) }& ~. g: y6 c+ J2 l- W                          set y  Dep / 2
) c/ E- J( [5 d+ T. c/ Z           set b  int (who / 5) * 5
+ y' ]+ Y# P. h2 g) C  ]3 ~, m    setxy ( xcor-of turtle b + x )2 u+ E6 R" e+ r5 p* y: y
          ( ycor-of turtle b + y )]]
1 Q0 a7 `  R; \; u1 _4 a3 send
- t) E* O  D$ X/ K6 f之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-24 22:25 , Processed in 0.018067 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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