设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6917|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
: E$ s( x$ V) X9 H2 M% j/ J8 j/ y+ R+ H: U. o/ }: M
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
0 \" a) T( x$ X& w6 a* z% ]$ K0 s* s( ?. G4 `
turtles-own [a b c d k f g h2 u# s+ ~1 J! X% z$ N  @, F/ B# M" f, a
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle : W& [. R6 V& r
]
- O8 X. k; b/ i" p5 L' Y, g% |7 Pto new
. Q8 \# \5 Y9 r3 o* O  ca7 E4 L* m3 c4 d  M* k
  crt 5 * num_of_building& ^6 q6 R- R4 ]& B) l) F3 s
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
9 B0 R' E5 O. t. Q# F" G' M0 Y  scatter     ;;keep center-turtle random positions
4 M7 ~! D# \- b4 \. B  unit_plan   ;;make up the building plan
, t% y$ t. m, S3 V( v" Mend
) V6 T, T% G5 D( ~to scatter
; C! E* V$ `* ~3 K7 D9 K, I1 @ask turtles with [remainder who 5 = 0]
  [$ T" }( [8 c. h5 p[
$ Q8 b, _( z$ c) C- E3 v  `- s/ I. rset xcor xcor - 6 + random-float 15  S! \1 A8 Q  |; S5 [4 s8 Q
set ycor ycor - 6 + random-float 15
) T" Z0 t* @) o- j7 L3 S]/ u' L1 E- \, d5 v1 I
end
, [5 j4 }$ N4 Jto unit_plan 1 N  \  c0 _8 Z2 q( z$ f. n7 I5 x
ask turtles [
4 V- T. f, u5 K" v& v* ~if (remainder who 5 = 1) [set a who . a5 c# D! J6 M* V6 E' k" k
                          set x ( 0 - Wid / 2 ) ' y/ v1 G$ P5 Q/ M1 \
                          set y  Dep / 2 ]
+ s8 b; l2 h) G" q. d' s. s           set b  int (a / 5) * 5
) z+ j% b- C" g' K5 p    setxy ( xcor-of turtle b + x )
7 H: F8 M1 h2 J% _          ( ycor-of turtle b + y ). N# s' `5 g- T1 o& C' \
if (remainder who 5 = 2) [set c who
& |. z* ]) T/ f* U$ W* C1 T                          set x ( 0 - Wid / 2 ) 8 D  R  Y/ x. z) M* J2 A( A- z* [
                          set y (0 - Dep / 2 )  ]- L4 \  L8 M2 R3 o9 ~
                          set d int (c / 5) * 59 i# s( p& M" d6 l: A' q
   setxy   ( xcor-of turtle d + x )
( ]& r4 \# b! l# _# Z           (ycor-of turtle d + y ) ! Y$ f+ H; O1 a. g9 }  |( Y
          , ~9 r: |# `. e7 Q$ {
            ( T# O& ?; v5 P# x) W; n
if (remainder who 5 = 3) [set k who1 s0 y$ v$ R4 {6 t0 V% ^
                          set x( Wid / 2)  
& l' S9 }( `3 D3 |& {0 s                          set y (0 - Dep / 2 ) ]$ G( O: _/ l2 }/ i0 m
                          set f int (k / 5) * 5
5 R; ?, O. o- `/ ?$ s6 n) W" v  setxy   ( xcor-of turtle f + x ): ^: ]2 i, |( O* T. t; ?: k
           (ycor-of turtle f + y )
, U/ K) }  P' G2 R- i, V           $ |) _7 @! i& h1 L6 B
           7 V. i# i: e# `7 f- I
if (remainder who 5 = 4) [set g who8 ~* t$ R4 a: Y% P, w( e
                          set x Wid / 2 ! f+ ]  u1 f. X- l
                          set y  Dep / 2 ]
" l* v, y1 M/ D  B                          set h  int (g / 5) * 5
8 j# y- S' H3 e: I4 D  setxy   ( xcor-of turtle h + x )
+ K  i8 i) b3 ?& \) T4 Z2 K           (ycor-of turtle h + y )
' x* s8 I0 {* @$ z6 j                          2 {8 f& F& M( ^# f/ p( y4 P  f0 D
                            h, p2 V( J" [. a0 K1 h* c! `% M9 V
                          ]. P% r4 ^4 E0 K! ?, p( j$ b% G
end( k! A; _- ?6 w, d
  K# z( W/ O! B% p  v0 Q+ o4 g: s. i
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- J6 t/ j! q8 t( C, T* W4 p/ `" ]
应该是6 A/ w) G: U, A: R. t  C6 ]
ask turtles [
! y0 m) Z  b7 e: u0 l/ m* W. Z: kif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
8 R5 a8 u2 T, d* P$ }                          set y  Dep / 2
5 k; l( f5 {2 ^           set b  int (who / 5) * 5; o9 Y( d# q  t& w
    setxy ( xcor-of turtle b + x ): a! G  S) C1 i- a( E* T
          ( ycor-of turtle b + y )]]: l/ N# Q3 _3 _1 J) ^/ z
end
" A5 q. F6 A% Q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-9 21:06 , Processed in 0.020060 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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