设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7235|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
' C7 H' a- m3 U' W& |: |& P& C+ g1 }, I6 p; w" U- |- q: o
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。( Q% L7 Q- ^6 ?0 N) e
6 R! Z8 |4 \- E
turtles-own [a b c d k f g h6 K8 i* g3 F/ H" \: {- ~3 b% y% q' |
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 7 R& q- n& k1 A( r
]
& V; [8 l2 J: eto new
8 x/ A9 D- u+ R- u  Z  ca$ V& V/ p" t' k9 V9 p
  crt 5 * num_of_building# y4 V' S' P1 J& `2 P3 N
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]+ x: V  t, M+ m" ]
  scatter     ;;keep center-turtle random positions
4 K& U, r; G+ B: }; R8 l  unit_plan   ;;make up the building plan
+ K$ M1 M& M7 J+ Y1 e4 {- n7 Xend. m1 a1 a8 L! S6 j2 F4 W& M
to scatter9 L! Q. O$ @1 H3 D; {# d
ask turtles with [remainder who 5 = 0]! P% G0 \% `6 e1 h* ?( t% K
[
( q2 @& @0 w/ I6 `# Q7 Q4 Fset xcor xcor - 6 + random-float 15
6 n0 [3 J, @8 v* uset ycor ycor - 6 + random-float 15/ w( X  ^& ^2 |3 Z
]
4 P# d8 Q  j4 \  qend
+ @2 G7 c  O5 G5 h- r( hto unit_plan 7 f! w, v, r8 c3 b/ }# H8 x
ask turtles [
- T0 C* [; _; L; W9 t8 `5 i% mif (remainder who 5 = 1) [set a who
& ?' U2 g' ?: h0 t. r                          set x ( 0 - Wid / 2 ) 0 s' c' ^3 T, y( a! A
                          set y  Dep / 2 ]
9 Y6 `# N+ ^% k4 u/ M) F3 V           set b  int (a / 5) * 5
4 t& w0 N. j6 b- s. W& t    setxy ( xcor-of turtle b + x )
# [9 }4 g0 Z- M3 C6 ~          ( ycor-of turtle b + y )
- ?5 f1 c  M$ D4 ]' k: C- oif (remainder who 5 = 2) [set c who
! ?6 o: J* I  T1 q                          set x ( 0 - Wid / 2 )
& n2 P: [1 P9 V' m% a                          set y (0 - Dep / 2 )  ]
! p' c7 z# x0 r3 l' G6 B; `- X7 V( i                          set d int (c / 5) * 56 S- y, k2 {9 e" c1 g6 ]
   setxy   ( xcor-of turtle d + x ), y0 N. b. X7 m5 [! k/ G
           (ycor-of turtle d + y )
7 L% f6 X2 [& _/ |# B8 A- r  h         
+ J, Y% @9 G4 x# X            * w7 a, i8 q/ i0 ?8 W- u$ l
if (remainder who 5 = 3) [set k who* k" P% R1 `& ~, h, ]# D
                          set x( Wid / 2)  - T0 q& q8 f+ r$ i8 O
                          set y (0 - Dep / 2 ) ]
7 L1 K  Q+ H4 m% `4 \* E- c6 \                          set f int (k / 5) * 5  I* @  G( [- D; }* S1 C3 r
  setxy   ( xcor-of turtle f + x )
. N1 l" j' X  H. ]           (ycor-of turtle f + y )
& K3 Q' l2 J- l7 w' N4 Z           
: r) J# \8 j. S# Y           
4 a& x% m6 w" H! V0 M$ V/ oif (remainder who 5 = 4) [set g who
7 q" @4 P  \2 b  r" t" W: g                          set x Wid / 2 - |8 i/ k  D  n1 E7 g
                          set y  Dep / 2 ]6 Z( v+ ]' u& ?3 m
                          set h  int (g / 5) * 5. Y- f/ A5 t8 k7 b- d
  setxy   ( xcor-of turtle h + x )
. F' }: P( a1 P* j3 r0 d           (ycor-of turtle h + y ) 1 z: ~/ r* J% f+ n
                          / z. O" @9 V( ?
                          
6 o$ I7 i* e6 k) F, v9 A; ^9 _                          ]
5 Y: g/ U  A9 e9 }- x8 ?end
4 `+ m7 P6 T9 Z9 T4 P- c* o
: `) D# z" u! |& F! f, z[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," N& P) w0 w5 f% g. S/ V- f1 _
应该是
3 ?5 R  `% R8 Z5 e3 }. lask turtles [7 p; v4 V/ r# e4 F3 n
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) / q& Y( H: @6 p
                          set y  Dep / 2 ( l; |* N2 w, P% ^
           set b  int (who / 5) * 5
4 _" \& r% g5 \3 V3 ^7 Y* j    setxy ( xcor-of turtle b + x ). r6 e4 u+ u& |) p( L
          ( ycor-of turtle b + y )]]( g( u  R" c  D
end$ q7 W( T4 a# T0 I( u
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-20 04:46 , Processed in 0.014360 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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