设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6793|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
6 T0 v& {2 f' q( J2 `" H' j( j% c- K. y* {3 ^
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
* X  i% H0 g9 x; H" p4 d7 H1 |5 ?; L& Z6 z1 v/ v1 x
turtles-own [a b c d k f g h+ [( ~2 n# E/ T
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
7 L0 f! Y* [" A5 ~# o], z9 h2 M1 f5 K6 D: ]& s4 `- n
to new
/ l2 j/ V3 \0 m) H* A& _  ca# R+ S; H: ~" S2 m: o% T
  crt 5 * num_of_building
) k6 ?( i2 d% p$ l  q5 Y  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 d+ D" e! W+ ]9 W: s, D  scatter     ;;keep center-turtle random positions
, E: t8 O6 ^; i  unit_plan   ;;make up the building plan
' r7 [( g- }# P5 ^/ a. R7 Hend
" c% O: X$ p+ ]; R4 ito scatter
( B! {+ R5 i& Fask turtles with [remainder who 5 = 0], s% p2 Z: ~* v' H
[9 e5 E& N, \+ V+ m
set xcor xcor - 6 + random-float 152 F8 I: n+ O1 C8 w, g1 c, J
set ycor ycor - 6 + random-float 15) o! j9 }& `" `! j
]
4 x0 k$ o1 O- R7 @. C* b( zend/ F  a# z2 E, k& Z6 u+ q' `9 _
to unit_plan
# b& h/ y3 G. c3 c; Qask turtles [
  ~. l& V) N5 U, oif (remainder who 5 = 1) [set a who
2 r9 I% t  e% y- D5 o2 ^4 ^: O- {) Y                          set x ( 0 - Wid / 2 )
! _  x1 K5 I. v& m, A0 x                          set y  Dep / 2 ]
# h+ d0 ?* W6 X$ l. d; E           set b  int (a / 5) * 5& R4 p2 W+ J# D- ?
    setxy ( xcor-of turtle b + x )6 \+ K, w4 ^( Y  L
          ( ycor-of turtle b + y )- C$ i# `+ S* n0 n
if (remainder who 5 = 2) [set c who
' X4 S" s& S8 i) ]                          set x ( 0 - Wid / 2 )
# @! m2 r7 g* q: w1 Q4 a                          set y (0 - Dep / 2 )  ]& c$ l+ @  j, }  R- `+ Y# h* K
                          set d int (c / 5) * 5
6 B7 c5 v: W% Q& O1 J   setxy   ( xcor-of turtle d + x )5 C  c3 r4 `9 O+ O4 `% d
           (ycor-of turtle d + y )
7 X% A/ x/ ]" ?' m6 I          - ?: S8 M7 L2 z( a/ j/ h0 ?' v
            . p" X3 K/ L8 l8 B8 D
if (remainder who 5 = 3) [set k who0 N6 [" ?% {. G; {
                          set x( Wid / 2)  + T3 H7 ^  H: s5 h" h: ?4 t
                          set y (0 - Dep / 2 ) ]7 ?& }) ]( j: o' h5 V+ M
                          set f int (k / 5) * 5
' k* ]. T1 D- N8 c4 b  setxy   ( xcor-of turtle f + x )
8 d# P) ]9 S; E4 ?9 G' g  a           (ycor-of turtle f + y )
+ K! W- X" e- S- A5 w& W           
  x4 H; [6 L/ f$ X- ^  J           
4 s* I3 d* A; Iif (remainder who 5 = 4) [set g who3 L" Z4 p; z) r' t+ [3 E7 w/ q
                          set x Wid / 2 3 W% A  S5 L3 F" Q9 K; {* P" e2 O
                          set y  Dep / 2 ]: N  }2 [! q; G0 a& s
                          set h  int (g / 5) * 5" y7 e2 w* Q2 j- g+ q9 ~
  setxy   ( xcor-of turtle h + x )1 o1 i# ~9 g5 w0 n) s; R, P" [
           (ycor-of turtle h + y )
1 C) k; Y8 d! y5 O; s5 y4 F                          , d( {+ X; [- O- H
                          
! @- \+ \' u! ~  m+ e                          ]6 K% j! W4 U% y3 W# u" s
end
% x/ {( Z2 w5 c5 ~1 A! n
- O) w) i5 y; y[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
. v' K: n3 U) D* \& f/ a2 D1 U应该是# P/ }) T2 ^) r$ Q: t
ask turtles [  p8 S- z6 E: I* i3 F, M5 q/ |
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 5 `& a* N5 P6 F  G5 h: S2 w* X
                          set y  Dep / 2
1 z' B# Q2 J9 H' U           set b  int (who / 5) * 55 V, e3 q4 M$ M
    setxy ( xcor-of turtle b + x )
) m# [. e* [0 F( Q& ]          ( ycor-of turtle b + y )]]
8 r( F( E" q2 G# E# N" p4 mend
- A2 ?2 q. a1 g3 B1 F+ U, n( J+ p之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-23 20:34 , Processed in 0.016002 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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