设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8201|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
# N+ t" c" X; t' ~: _, y! p9 }7 [/ q0 x$ |
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
8 w0 s& A" P* k# y- W5 B
# S' Q+ k' \% S* U% \* @turtles-own [a b c d k f g h
. ]" E( U8 z9 [0 K3 Y  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; {4 X3 U. R8 w% S]  o5 |4 T$ _/ i9 U
to new7 N8 l4 l* m; Y3 M* o( n" \
  ca
! g& C' A4 j. m1 U4 K& u  crt 5 * num_of_building
5 y6 \! C/ @7 k0 ?3 v1 ]) [  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]# w' a. p. W  o! P- o7 _
  scatter     ;;keep center-turtle random positions ! v0 x0 i; E7 k. M! Q; D
  unit_plan   ;;make up the building plan
) L* _" D. o) J- O$ {" nend
( m- |) M* T6 `1 `/ x' ?/ Y$ Y* vto scatter" }7 A% S: g0 C0 G
ask turtles with [remainder who 5 = 0]
% r" @" f' Z) W3 o# q# c[# m& T. G; P! G- A! [* O5 x* `7 L% d# n
set xcor xcor - 6 + random-float 15
1 f2 a, H0 D2 u" Sset ycor ycor - 6 + random-float 157 }. z; m- j7 l: B5 A
]+ e! x4 E- c5 m5 X
end2 S/ n  X8 k" n
to unit_plan & j0 c7 O2 o) f, Z; |* t
ask turtles [. {3 {+ z# N; M, m7 E, ~7 C
if (remainder who 5 = 1) [set a who # J/ [, Y' b* ?
                          set x ( 0 - Wid / 2 ) 0 r0 ~" j( d: B8 Z! K
                          set y  Dep / 2 ]
+ E0 i, a" i+ }/ [, {2 i           set b  int (a / 5) * 5
2 ?& X; g( p1 B, N6 k  h) _    setxy ( xcor-of turtle b + x )
, q& v+ V2 e) H3 @5 u9 A: y          ( ycor-of turtle b + y )
8 F( d& E  h& Y3 T' T8 yif (remainder who 5 = 2) [set c who: R9 Z% N" p  {7 n
                          set x ( 0 - Wid / 2 ) 0 }0 R& W, \& s4 Y1 H1 u" f% m/ |
                          set y (0 - Dep / 2 )  ]
  G& N  t0 [& W( h. k                          set d int (c / 5) * 53 F8 b( V. f- t- s" K6 q8 a; U
   setxy   ( xcor-of turtle d + x ), P! v. i" u7 D% F- i* r# k
           (ycor-of turtle d + y )
$ a% a& O. z0 C- ~  t& e: F         
; V7 y- M3 a( q! ~* O$ J% Q+ j            
' H5 f1 E. p! r. `3 gif (remainder who 5 = 3) [set k who
) S% u2 o: Z; u" p* [3 R4 s* }2 h                          set x( Wid / 2)  
' [/ }& E2 @7 H& D+ P                          set y (0 - Dep / 2 ) ]
9 |: }4 J% @5 d7 l6 u- P& P1 \                          set f int (k / 5) * 51 U) v0 T; P# _6 K) D3 A
  setxy   ( xcor-of turtle f + x )3 d0 j& s+ F. y( \, u
           (ycor-of turtle f + y ) 7 [+ H2 X9 n0 z+ j6 V3 J+ S
           
  ~& Y# w( |+ p% x4 H! c0 t8 T: A           & T  O4 p6 y! F( q0 M1 q: K
if (remainder who 5 = 4) [set g who
7 o& m) b4 Q. l; \- I8 O2 y                          set x Wid / 2
- n0 X# z! R8 W& z; O                          set y  Dep / 2 ]
" Y5 J6 \  ]6 U, d+ M                          set h  int (g / 5) * 5. }% o/ k6 |* L, j/ X5 X8 j
  setxy   ( xcor-of turtle h + x )
* P% p, D8 i% N           (ycor-of turtle h + y ) # I! h5 R# O1 }) q# |" [
                          
: g% o' j+ x! I! U& c+ g( ]8 g                          
5 |! t* ~: w8 _9 F                          ]
! m. {5 w3 u- |- \% P5 t9 {5 v$ k' Send
7 \+ w+ \# }: M; a' R& M  r4 r1 y7 X5 o( v3 M
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,* I- q- }/ e9 _1 C2 s  z+ ~
应该是
# F( A8 k1 E8 Z6 n' _ask turtles [
% ^% a) ?$ w- B+ V& yif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )   R/ C6 j) A$ T  y0 R, _: `- |) g
                          set y  Dep / 2
# i  b/ i# D/ h0 c6 \- e0 ^  ^6 ?# t           set b  int (who / 5) * 5
6 h; K4 z% K% L+ F: H( b    setxy ( xcor-of turtle b + x )  R6 A( i. ]: C% e* e
          ( ycor-of turtle b + y )]]
% E* v8 Z5 v8 N; |- u7 W+ ?8 m8 Lend
" D8 M  ^7 j! S: k之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-18 00:42 , Processed in 0.015305 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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