设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7739|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。/ W2 h' D5 `# _# e
0 O  C* n/ Y' R$ ^
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。+ m% e$ R' M, A) t' r" i

# Y9 k( q2 g# |! E; D4 ]. h. C* Dturtles-own [a b c d k f g h8 ~- z' q6 i& n1 K5 n
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
  a$ w) M* }4 o5 e" A: F/ J$ ^]! C" m: }* j/ k# z
to new
! `( C! u6 p+ j* s! y, a* y0 t  m  ca# V6 O/ Y5 C: K/ ~* @+ |2 i
  crt 5 * num_of_building
" L( A& P# o2 o- ^  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]  T8 s/ f: R. d' F0 ~2 K4 W/ D. D
  scatter     ;;keep center-turtle random positions ( H' I* u6 o- V, ?- ~. b0 U9 U6 K2 t
  unit_plan   ;;make up the building plan
# G7 d2 R& \" O# Zend
6 o' O4 s1 _6 k9 T" S+ `/ @+ o. ~to scatter
6 g- q8 s2 A, Uask turtles with [remainder who 5 = 0]0 e: C; q: r# k' {. r& L
[9 }  |& s' @6 h6 M/ q. i& p
set xcor xcor - 6 + random-float 15# L8 {( D* X8 o' c. M. M5 J' Q
set ycor ycor - 6 + random-float 15
3 p7 l8 P- e* p. g; q]$ o, q; f% B0 r; K# n
end6 ]& i7 U; K' Y  a  d
to unit_plan , g' f. [$ V) [- Y- b
ask turtles [4 J8 U  B. P  R3 o& e7 k& t+ _
if (remainder who 5 = 1) [set a who
* m% z, O, l6 O& u+ f. {                          set x ( 0 - Wid / 2 ) " R- s; X$ V: ?% |& T9 i& y
                          set y  Dep / 2 ]/ N) K1 C$ D, L
           set b  int (a / 5) * 5% A: x, P, }0 |, g2 e
    setxy ( xcor-of turtle b + x )
' q' i* r+ @( `+ N          ( ycor-of turtle b + y )+ j% d7 X) r' A
if (remainder who 5 = 2) [set c who4 ~7 _' {* [! \( A$ `
                          set x ( 0 - Wid / 2 ) # }8 N: ~2 `( X! I, x( ^: M
                          set y (0 - Dep / 2 )  ]
4 i! F9 `+ }2 P3 i. b3 a# @' k& F                          set d int (c / 5) * 5/ l) x$ z+ a" Q3 U- M* U
   setxy   ( xcor-of turtle d + x )
2 C" i4 v5 S8 e           (ycor-of turtle d + y )
3 c7 n- _/ V7 q+ H$ Y3 T         
  u; y6 I# M7 j4 E# G8 i- G! }            
8 M! k6 h; A0 |0 `% eif (remainder who 5 = 3) [set k who
6 c$ b. \  z0 B1 j: Z                          set x( Wid / 2)  
; H% _3 R  B: `( J6 q3 n0 c8 Y9 z                          set y (0 - Dep / 2 ) ]
# F5 n  d( n+ Y                          set f int (k / 5) * 5% b1 J* ?4 E8 S; `
  setxy   ( xcor-of turtle f + x )
9 O2 {6 a0 S, R, w, w) ^           (ycor-of turtle f + y )
$ r* a3 f' Z) @. a  n8 K3 o           * R8 P: g7 j9 Q! i; \# [: k
           1 a, ?2 q1 A" W6 a" y- \& ?
if (remainder who 5 = 4) [set g who# n! p7 E. {6 Q$ T. \% \# o
                          set x Wid / 2
$ \" C; r# c0 y                          set y  Dep / 2 ]
% i5 r: Y  `6 S& ~- f                          set h  int (g / 5) * 5
5 S+ B$ \1 Q9 t  Y  setxy   ( xcor-of turtle h + x )
: @. L: Y% \( V6 l; K' p0 O0 e% F           (ycor-of turtle h + y )
" r  x3 U; h  @* S+ K                          - n7 t! G, |: k; u9 H
                          
! s4 L8 e4 o$ t" P. @; J                          ]4 X) s. I9 J4 O
end
; e  i  _7 n, f8 }; Q4 A4 c% M" k
% @8 Q+ a* ~  M6 R$ ?; ?[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,7 k3 I( ~, |6 W" Y6 M1 I
应该是
. J" C6 Z/ S8 p! uask turtles [1 y) |/ W) o3 Z) B+ a: Z
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
7 a3 w2 n3 [6 H7 j5 X, W2 f  y                          set y  Dep / 2
, y- _# J% H5 h5 }           set b  int (who / 5) * 5
8 y  O, e. C8 L0 Q' i5 t7 T7 K1 t    setxy ( xcor-of turtle b + x )
2 s. k  [- v9 a0 h* c          ( ycor-of turtle b + y )]]. P* J# U- g6 `' r
end+ _$ L0 f# J1 h5 ?
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 19:48 , Processed in 0.013732 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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