设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7388|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
' n8 {" J" V& q! R' R, {" c! h2 g! g* O, |6 `6 s
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
* A5 l3 D  G% u, |& }5 E
- U1 j2 g( r6 k, tturtles-own [a b c d k f g h
$ Y1 F) M3 i! B+ Z  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
8 c! y( T+ m; c$ b]2 V7 o6 @( q/ a- ^& b& \: k* Q. @
to new
2 x! z5 q  C' W: ~: \( z. \$ C  ca
2 ~+ H: V+ }7 L- \, L  crt 5 * num_of_building5 n5 q* R$ i) X1 e% Y% g
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]# `4 n# `8 Y6 g2 R4 k) ~! M
  scatter     ;;keep center-turtle random positions
# |* j1 }/ C: N* f  unit_plan   ;;make up the building plan
5 S& K* k  N5 }4 s1 d6 Bend
1 J8 G9 W9 e" ^+ I, h2 K) N$ _to scatter
% @. [+ J! v' W% C8 ~; task turtles with [remainder who 5 = 0]* P$ [! w0 |3 r, u0 D
[' a- w+ {' |. l& v
set xcor xcor - 6 + random-float 15
3 A* k; l1 b" B: W' d, G! Mset ycor ycor - 6 + random-float 15( K& C' W$ [" d' g+ N  B$ |
]
' @6 ]4 ]% v4 ^# G& v) }+ I: Pend" T: v0 e) J& t0 b
to unit_plan
/ B) U5 d. n% a- U& ^$ }) Pask turtles [: d- ?+ G: s7 l" x6 V
if (remainder who 5 = 1) [set a who ; L( p: s, P( Z( z/ h) d, G& D
                          set x ( 0 - Wid / 2 )
5 C9 k$ u  F* T5 Q* C7 C+ k! N                          set y  Dep / 2 ]
) ]+ l: I' z1 D           set b  int (a / 5) * 5
; R8 b8 x1 S: i    setxy ( xcor-of turtle b + x )
9 Q9 E) H+ m2 i          ( ycor-of turtle b + y )
; Q& H3 A  j: M& g3 Eif (remainder who 5 = 2) [set c who( J* w$ y! ^8 F* X6 Q, p5 z
                          set x ( 0 - Wid / 2 ) ( k( [; s# c1 k, {- D7 i2 D/ v% f" N( u
                          set y (0 - Dep / 2 )  ]
$ a# p- \$ F3 u, G$ U  B                          set d int (c / 5) * 5
1 v$ n! X: H# e7 Q% _6 n! w   setxy   ( xcor-of turtle d + x )
* |. F8 ~5 l2 C6 i( k' q           (ycor-of turtle d + y )
$ }! t+ d; k' P$ C4 F* {, X& S: D         
, F1 @! w. f: I1 f# S& v            : i7 E" ~, i. A7 c
if (remainder who 5 = 3) [set k who7 I/ B6 F4 F$ Z2 I( n& u
                          set x( Wid / 2)  
' o6 E; E+ x2 Q% f! q                          set y (0 - Dep / 2 ) ]
) i/ z! d+ S* t  n0 J' O8 _                          set f int (k / 5) * 59 e2 a5 `( E5 U4 ~. ^/ a
  setxy   ( xcor-of turtle f + x )! i- ]$ S1 Q5 w4 i! j+ j# O
           (ycor-of turtle f + y )
0 D- s6 a+ C5 d; Q9 p5 f8 ?           
7 w& [1 X: o. F9 ?2 d           4 `. p: E$ ]" a* g2 \3 V& p2 q8 x" _
if (remainder who 5 = 4) [set g who- i; Q! {3 J* O+ O( X, O  \* E
                          set x Wid / 2 $ g8 p1 C0 L8 n1 N0 i' n/ w; C4 q
                          set y  Dep / 2 ]
5 b# [5 U  r2 W3 Q: d$ U0 [0 t0 a                          set h  int (g / 5) * 56 s8 J$ ]* P: I, L
  setxy   ( xcor-of turtle h + x )
$ Y2 k2 t) \3 D2 p7 o. X' x           (ycor-of turtle h + y )
8 q( {) d) w! n7 q' v                          " f; G; z; k) H
                          
! P0 O3 w% z" G                          ]& @0 k9 c, i5 N2 d8 P
end4 p& R: k2 B4 {( m5 x
  a4 {& M3 e1 K
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
$ ]& I! g9 `8 Z+ ]# a) t应该是
5 ]  C- k" N4 t8 sask turtles [
1 a& ~# l) C0 A  k7 mif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
$ v' v3 ?) P3 e8 X                          set y  Dep / 2
8 F: Y) Y* K! y- G3 Y& [           set b  int (who / 5) * 5* }* @% r1 U6 J. [+ ]. Q
    setxy ( xcor-of turtle b + x )! _$ l- Q; c( y+ L' w( K
          ( ycor-of turtle b + y )]]; t  @" M2 n) W0 Q- Q2 O0 L1 ?
end
' f1 C* g/ [! r# ]" c* @4 E- A8 i之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-6 11:28 , Processed in 0.023897 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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