设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6914|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
3 }1 y3 x" h; F6 ^9 T/ e6 a. j8 R1 o: N; H* r, t; E9 l/ V5 F
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
1 t9 Q+ e  j/ n1 I' ^* p. u- G2 x8 y1 f$ M- T5 G5 i
turtles-own [a b c d k f g h
$ s: T& ]+ d3 R  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
& R0 @/ p2 O. }2 E]
7 v" U" l/ y" ~! q& v! z# _to new
( w; Z6 e! k  Z3 U  F+ W  ca
$ U8 A6 `; A4 Y, O9 S) Q7 b& M' H  crt 5 * num_of_building
0 K+ X4 b* A: U. l; d- i  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]; |. k! o* i, S. v
  scatter     ;;keep center-turtle random positions 7 I. Y# K1 ?, D
  unit_plan   ;;make up the building plan
3 B7 r( B- r. |, y/ i# vend) i( g6 x0 F  x6 y# f4 Y
to scatter4 P$ l& ]( E* i: d7 q- I$ _
ask turtles with [remainder who 5 = 0]7 }" t# G  I( a% D7 f$ r3 n
[
, q) F$ d  r0 Z4 I$ ~! D! ~4 f0 \. hset xcor xcor - 6 + random-float 15. J1 {$ `1 e; H/ i- v0 z- G9 C
set ycor ycor - 6 + random-float 15  C3 e6 P- g/ a/ V4 u8 e
]  B( _) X2 t  g& k" \
end
2 `9 t. e# q/ J8 _to unit_plan ; J2 u# U  y. M2 b0 ?$ Z
ask turtles [; @4 `$ @4 H7 n% X( G+ c
if (remainder who 5 = 1) [set a who 2 x; ~  K; ^% s
                          set x ( 0 - Wid / 2 ) 9 G) n. m( U" O1 E% s6 ~
                          set y  Dep / 2 ]
7 S* g* V+ V9 o" p3 `/ }           set b  int (a / 5) * 5: U$ k- g; V6 z) A6 ^6 R
    setxy ( xcor-of turtle b + x ); I, _2 ?+ W& z! g
          ( ycor-of turtle b + y )8 |& j2 k7 g5 P2 f- q9 ]
if (remainder who 5 = 2) [set c who
" T3 C' x) D/ a# ]) H6 y) ?' U& P& n" T                          set x ( 0 - Wid / 2 ) $ N% s) D6 z! g. o+ }' t' i
                          set y (0 - Dep / 2 )  ]
" Z- }9 D" H+ N. t                          set d int (c / 5) * 5& M0 }3 J0 x$ b7 U/ t, e# h
   setxy   ( xcor-of turtle d + x )
! v/ W7 g7 i3 F3 w           (ycor-of turtle d + y ) $ }2 k$ _- c0 _/ ^' U
          / Q9 T5 q% v+ I4 m4 z. T1 o: C
            
1 b2 L  {6 v; c8 ~if (remainder who 5 = 3) [set k who6 ?1 o7 z0 b, _# t7 j! q( _1 ?
                          set x( Wid / 2)  7 d+ e& K4 K! C+ Q
                          set y (0 - Dep / 2 ) ]7 k* i/ s' |) L' z+ k
                          set f int (k / 5) * 5
7 ]8 M4 E, X9 o; P) ?, I/ V! e# G  setxy   ( xcor-of turtle f + x )
! q5 j  j' K, s# @" ~6 S           (ycor-of turtle f + y )
) w5 k9 W) ^! l2 h( k7 O; m+ |           
3 e3 L. \" t0 z+ Z           
1 {: |6 i  a! u4 ^9 E' bif (remainder who 5 = 4) [set g who) f/ y  }: n8 p, Y
                          set x Wid / 2
* f: t( A' K9 J8 k, z                          set y  Dep / 2 ]
/ {& r1 L: v6 w, d* r8 @                          set h  int (g / 5) * 5
5 `1 N. m9 f) I: h* C' Q8 g  setxy   ( xcor-of turtle h + x )1 }. W+ c6 e" y1 p# q' M. |
           (ycor-of turtle h + y ) . E3 u& A7 }$ z6 t4 s5 l5 |
                          : j) E% o: E# K+ l
                          7 U# x8 c" p) w: m3 Z+ Z, {
                          ]
! x+ X% R0 {) }1 _% E; C3 Qend6 Q' ~; l' b8 z  o, b7 c

  E0 e5 {3 @  {[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,( H0 ]: d$ h- ~
应该是; }! p2 v. M. E
ask turtles [
# E, H" h4 h" ~/ @  y* K- A7 ]- Oif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 8 Q/ Z/ B  r' x  o
                          set y  Dep / 2
8 J' ^* G' ~; C' P: K) p# u           set b  int (who / 5) * 5+ K* Z( |8 s& p; H9 j& E
    setxy ( xcor-of turtle b + x )) ~( L' O3 ?* n6 m$ W* J. J
          ( ycor-of turtle b + y )]]% ^" E$ v1 D  ^& R
end3 C, i2 e1 f& H; v- A* X- M
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-9 16:15 , Processed in 0.019161 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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