设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8862|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。" W; Y1 j/ Y! u3 G6 N% I

0 K& M) T2 q' _7 z9 P但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。- ]) }, W' m# ^3 p) ~5 U
6 U8 P9 g/ j  Z, ~3 b9 J+ f
turtles-own [a b c d k f g h- b3 b; J2 I3 U
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
4 `- d; @. U) x# j5 j  |]
; c" ?6 i; ?6 P$ Q0 B5 j. Dto new7 Y9 N; K# E& i6 n" X& ]# o
  ca
% O8 X% h5 N& F+ C/ W  crt 5 * num_of_building
5 Q- g$ p! e  |7 E* q4 ~4 k  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
( T6 d* m9 `/ H, I. |  scatter     ;;keep center-turtle random positions 5 l+ Z* y  Q, Y$ r! B/ Z# O- k
  unit_plan   ;;make up the building plan
$ E$ s2 z3 N; a1 s; bend3 R4 h$ R+ v0 q( A8 ~3 B' v' B
to scatter
  r, \- b( |% y# i; Hask turtles with [remainder who 5 = 0]
" q' j( c4 i( K* A1 I[
% K1 x4 N! x4 M* Dset xcor xcor - 6 + random-float 15
  k: g7 C" x+ U- L( x+ Uset ycor ycor - 6 + random-float 15+ R' t  G: K( S% t9 v5 [3 X
]
7 }( Y: \* Y' {2 q1 @6 Kend
; E8 ^0 `* L1 Q- ]/ {# lto unit_plan
$ ]% t: T, c. }* u1 C/ Jask turtles [: O5 x7 V- `. T6 e0 ]. \7 W& C
if (remainder who 5 = 1) [set a who
: ?$ c& R5 b) J# x* q' w2 C                          set x ( 0 - Wid / 2 )
6 S9 x! f6 S* V' J                          set y  Dep / 2 ]
" k- }# b! S$ ~" u5 m3 i           set b  int (a / 5) * 5
0 |4 z) `6 r  V    setxy ( xcor-of turtle b + x )9 q# V* q5 F# C& i
          ( ycor-of turtle b + y )* n. O; W$ v7 j3 y$ \
if (remainder who 5 = 2) [set c who
8 u0 p8 p. Q* G- U5 M% Y6 W  K                          set x ( 0 - Wid / 2 )
. a! L& f+ k4 \6 v6 f, A. U                          set y (0 - Dep / 2 )  ]
% Q- H3 n  A* m                          set d int (c / 5) * 57 R! M) J: Q9 q( D2 |  W& O5 }
   setxy   ( xcor-of turtle d + x )' q1 h' C) Z4 s
           (ycor-of turtle d + y )
8 N" P) ^' g; W0 ]) E4 O         
) ?9 N% {3 _3 r- T            & c' u' j) d2 }' W. J
if (remainder who 5 = 3) [set k who: m1 q$ o+ T" z9 B$ q7 @' R
                          set x( Wid / 2)  ; W) a" y; Q* w& [
                          set y (0 - Dep / 2 ) ]7 X& R3 v  n& R( i' V' r" `
                          set f int (k / 5) * 5
! f2 j" T) r4 C6 B  setxy   ( xcor-of turtle f + x )
$ Y% e4 N. T4 R1 W8 U* A' _% X/ |5 Z3 }           (ycor-of turtle f + y )
1 E: c/ n* c% f" [6 f           0 e5 F4 D0 A; {) E2 n
           . m8 v4 x' G& h7 ^5 m. U2 `
if (remainder who 5 = 4) [set g who
  _9 h7 e; v3 V$ j& K; s, L0 }                          set x Wid / 2
* f2 u; T6 I; _. |  f                          set y  Dep / 2 ]: @' `$ I  a/ H3 t4 p$ b4 k
                          set h  int (g / 5) * 51 K! z/ `, `6 Y- V* h- ^7 a+ X
  setxy   ( xcor-of turtle h + x )- H7 `# p7 M% }$ `
           (ycor-of turtle h + y )
8 i8 u. Y( `& j+ L                          + ^9 A- ]9 q6 s) c6 ?
                          
' ~' D0 Q4 F7 a0 h9 z5 J' F1 \                          ]
1 P' u9 \+ a3 b) ~end2 G9 F2 K! |: T8 D
0 d) b, d; Y' s/ U) O
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' {, o7 o5 J& ~* Q应该是
/ H  _( a  d% z- t& J: ^. ]6 Bask turtles [
* Q" H! ]* ~2 G0 d# H* r3 r1 vif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
4 a# B# c# o5 p8 f                          set y  Dep / 2
; T; O6 X) q/ E" e# q* Z- U           set b  int (who / 5) * 54 [" y0 A- c( x$ A2 b
    setxy ( xcor-of turtle b + x )
, L1 v( h! j) m9 c          ( ycor-of turtle b + y )]]
/ v4 v7 g# U8 kend, M. t6 X, i1 g) X7 E& E& G* ^( S
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-12 19:01 , Processed in 0.016275 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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