设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6708|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
$ G+ A( }1 ^: r- F( V- A& g& |$ V4 W# @( J4 }8 A2 ?5 C: }+ z" T  F
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
4 z* h. f! H9 i
" i+ e. b4 {0 d2 L: Zturtles-own [a b c d k f g h8 d# r% Q2 v# _
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
$ F( z& x3 A! `3 c8 O+ N]
6 N$ t: _4 G0 |' [to new- N; M7 _0 m. W
  ca
! K  I+ d" Q7 F' M% d; o5 o  crt 5 * num_of_building9 |0 [; s6 ]4 d3 B8 V- R- `1 ?
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]! _" @# A: v( Y8 U
  scatter     ;;keep center-turtle random positions
9 W6 Y1 i1 Y" A# _: v* w; F  unit_plan   ;;make up the building plan, V6 ^6 U, V: H  a
end
! `% j2 d; J8 v5 Y7 l8 z5 X; `to scatter% U' w' V5 |& D! M& u
ask turtles with [remainder who 5 = 0]
& s2 B. h9 U$ |0 x8 T( c" k[
' {! k: I+ K9 H8 c  Yset xcor xcor - 6 + random-float 15
  B. L8 i: R& p3 |set ycor ycor - 6 + random-float 15
/ [; [: Q1 N% V! Y! T; R6 _. l, K: h]
5 t9 {8 R, o6 }end
+ i  @6 z9 h3 f# H, ~/ xto unit_plan " Q* D. [" z" `& ^8 Y
ask turtles [
3 A5 n. O) }+ M) p. fif (remainder who 5 = 1) [set a who * D; n! L; ]2 y. o* m
                          set x ( 0 - Wid / 2 )
) f' F; c+ O; Y/ e, y. u( w1 Z7 g                          set y  Dep / 2 ]/ W' Z* @1 k- Q2 |: O9 W. b& Y
           set b  int (a / 5) * 55 V: a2 k: w* p2 H* f" I# J
    setxy ( xcor-of turtle b + x )
- [$ a; y, `3 {1 D9 X0 V          ( ycor-of turtle b + y )( Y: ]! S/ n* |
if (remainder who 5 = 2) [set c who# Z  s) H, g9 ^/ m
                          set x ( 0 - Wid / 2 ) / w/ ?% Q+ Q% @, j' k
                          set y (0 - Dep / 2 )  ]
. j" M$ W6 U% h! d/ F" \                          set d int (c / 5) * 5: l# U* H6 A) `5 |  c* z; e
   setxy   ( xcor-of turtle d + x )
$ z1 A3 I6 g0 j" a4 _, J7 F4 O           (ycor-of turtle d + y ) ' \0 [5 e+ F  a
          5 N4 P% f; c9 ~5 p/ i0 X* W( q  Y$ \
            8 Y' Y( T. h; P- w
if (remainder who 5 = 3) [set k who( ^4 u' e' o: R3 _
                          set x( Wid / 2)  $ W4 U7 M1 U8 ^0 r+ g
                          set y (0 - Dep / 2 ) ]
7 a# Y: e2 T- I. g" K* x                          set f int (k / 5) * 5
# \7 J3 H4 D4 i* x  setxy   ( xcor-of turtle f + x )
) K9 }9 y9 a0 \3 F; Y* H& N2 w' B           (ycor-of turtle f + y ) 4 h  B6 e) B8 u! D' E0 T" t
           6 o& c" J% w: ]! D* H& t
           
9 ?* ~" _& N; m! D1 qif (remainder who 5 = 4) [set g who* N7 M! Z( g* k  P* k/ B& Q
                          set x Wid / 2 * ]5 \+ X" A% w" I, I5 `9 m
                          set y  Dep / 2 ]
5 O) s; I, s% V1 V/ \" T0 h6 f                          set h  int (g / 5) * 53 R7 ^7 Y' i8 u" ]7 }1 c, E8 a* j8 U
  setxy   ( xcor-of turtle h + x )/ b% s8 x7 z' U) F5 W# K4 S3 q! O
           (ycor-of turtle h + y ) 8 s9 A, o+ N3 {6 ^* {
                          
4 S' z3 T+ u2 z/ c, r                          - Q; y& D- P1 y
                          ]
  A% E, `9 u/ L7 vend9 _8 `/ Y' t% T- B$ `
+ h2 P: h$ u; Y% J
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
# ?3 l# j! i4 A6 k) V; X5 J应该是( Z4 Z9 C- M. l: D% J3 _
ask turtles [* E' P: j9 l7 [  B
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ( L& a- |1 v4 _- |, ]
                          set y  Dep / 2
0 [: a4 G' F. E' r2 ]' }& t           set b  int (who / 5) * 5
- s* L% s! k& b8 ?5 w+ T    setxy ( xcor-of turtle b + x )
) _; h" M* J8 R          ( ycor-of turtle b + y )]]' _& f( w' j( g
end
$ f& O' ?: ~& k; n" @# j之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-15 08:20 , Processed in 0.022541 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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