设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7732|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。( v" s; D5 T4 p2 Q
! Y, b% y8 U1 S& S) ^
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。% I7 M& X1 O3 m

. n5 D& V* h2 Aturtles-own [a b c d k f g h- k- C* ^( I% i2 w" k
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
- o# Z( w$ M/ @# e8 F6 B2 U]
9 {9 k1 Z  @* Q1 q( `. M7 C6 sto new# p  i. E# R- r0 J1 L/ c1 C/ _
  ca
0 w/ z7 ]. h0 |3 U) m- N( t' E! t/ s  crt 5 * num_of_building/ s( @% G/ m$ |) ]4 c
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]- j: F  d. [) G$ O( [9 x
  scatter     ;;keep center-turtle random positions " w; \1 ?3 h* f& J, c/ @8 N; X, _
  unit_plan   ;;make up the building plan
. q; h% }/ K, l# R$ mend. R3 g7 C& v/ r# \5 m0 Q& V2 Y
to scatter
# p$ \8 T1 H# r; Z  E5 @3 sask turtles with [remainder who 5 = 0]8 n  E+ ]8 X% j" u5 a$ l2 b
[
9 o7 G7 d3 c3 w, T' {1 T0 Rset xcor xcor - 6 + random-float 15
7 D  F! D. P+ q: e/ ?% {4 [- Iset ycor ycor - 6 + random-float 153 n2 K& z) `6 n- W* X1 T1 b3 w
]
9 p- K3 T! U) x0 b& Z! |end
# r0 k" o5 Q% N; S3 X/ dto unit_plan / p* [* {# i, P: x. q. v. e( Q
ask turtles [/ d. R0 b5 e. o# O. E" m3 Z  L1 L: O. |
if (remainder who 5 = 1) [set a who
& `! H9 o; \) j5 G( O9 N1 q" z                          set x ( 0 - Wid / 2 ) ) {% T  U) C# |5 ~0 _
                          set y  Dep / 2 ]
" @) S5 y* F2 w5 I/ J7 W           set b  int (a / 5) * 51 g$ r6 u9 V; O9 F2 Y
    setxy ( xcor-of turtle b + x )
( a) F8 T0 c; D8 c          ( ycor-of turtle b + y )
" a8 s3 G. A7 p6 |$ v+ ~, v7 Hif (remainder who 5 = 2) [set c who. r. {% [4 l. t& V; s  T
                          set x ( 0 - Wid / 2 ) ) S; h, f& h8 U- B
                          set y (0 - Dep / 2 )  ]6 V5 X, c% Z! G6 X  i" h
                          set d int (c / 5) * 5
/ @0 }! u* c1 e, o, j9 m/ v* X   setxy   ( xcor-of turtle d + x )
8 F  O2 o* x, ?! e. F           (ycor-of turtle d + y ) ; `5 ]" @# `. l1 g
          5 f& ?* I  `, N, D2 n
            ) z/ g$ E' L9 ]2 N" d. L
if (remainder who 5 = 3) [set k who
; \% u% I+ _" w% U4 b                          set x( Wid / 2)  9 t5 y/ l( I; S1 r
                          set y (0 - Dep / 2 ) ]: a9 i: p- p* D( ~2 `& g& f& P& M" P
                          set f int (k / 5) * 5& y+ I5 Z$ f& x" ~- M! E
  setxy   ( xcor-of turtle f + x ). P: t7 }; i) g* F+ E( |
           (ycor-of turtle f + y )
& p8 o3 k0 `( o" S; `- x" _# _  I           5 c, ]. Z' E, K
           2 r& @; q7 }: }) Z' R8 ?
if (remainder who 5 = 4) [set g who' @: J) L0 `: t9 z% E% E+ G4 N
                          set x Wid / 2
& H; `# j1 o$ l% M0 S: K( _                          set y  Dep / 2 ]# i$ X; L4 ~1 O( |- d+ i& |6 F+ @, J
                          set h  int (g / 5) * 5
6 R* a9 [6 D1 J1 D0 I2 m. l: M  setxy   ( xcor-of turtle h + x )
) r. U6 ^* G1 s, w1 m           (ycor-of turtle h + y )
" y" _* r' h2 ]  C+ a& i, `/ [                          4 ?6 b) P! ]8 `1 `" P* O6 A% c6 B
                          
- z. {% q% u2 w5 i+ n                          ]# d* ~9 V+ U' b$ f
end
6 o) j; n' F. ^+ D; h# @4 V3 U: D4 p9 c+ Q( i% C
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- {" [8 Z* b  P" a! [) M5 h
应该是
& m( J% P1 ?) r" K1 R# s  |ask turtles [4 _& q+ f' Y# m7 S
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# u% H% s+ d, }+ ~+ N! n$ T& I                          set y  Dep / 2 $ Q$ d" [: }! M) s/ f, B" G% v9 Z
           set b  int (who / 5) * 5  L8 I: h2 g! s% S) j
    setxy ( xcor-of turtle b + x )
' ~4 L' [7 z4 `6 m          ( ycor-of turtle b + y )]]
0 C' Q$ j: V8 o8 Z- oend
% i) }4 \6 f: W3 Z% V4 X之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 20:04 , Processed in 0.021400 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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