设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8485|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
+ k# j' t5 D1 o8 R+ t- I
; s/ O5 o8 x" ^) p但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
9 W+ Y; O) I: v5 r0 I& \- E" \% ?
turtles-own [a b c d k f g h: P% e  c% |& Y2 U
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
* v" M4 G6 z' G  c: f]! s; k9 f0 M$ d" b) g& ^% z
to new
# y; z$ l! y9 g7 @  ca4 W# p' e& z9 `+ M' q+ T* O
  crt 5 * num_of_building
& u3 ^! S  J1 J, m3 H: `  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]4 j( ~6 R7 E8 m
  scatter     ;;keep center-turtle random positions
' @# E& I9 J9 x9 b  unit_plan   ;;make up the building plan
+ F1 A3 b& U" ?" W/ Jend7 Y) B" L  T# V: g+ Z/ j5 n
to scatter
* Q0 Y8 m- [3 I! h3 |6 p6 U0 ^* Xask turtles with [remainder who 5 = 0]
5 |& S& a9 t" A[
0 j: R* x1 L8 P% Y" O5 P4 e. Rset xcor xcor - 6 + random-float 151 j, N4 D- f  }- C: q0 v
set ycor ycor - 6 + random-float 15+ Y& [' U3 o5 \/ \, u
]
) ^1 d9 D" H+ Z# s; Pend
: u/ I3 A9 Q" n: Oto unit_plan
, l4 e7 \9 ?( \" [2 I3 Y6 {ask turtles [" Q5 _- z/ J+ @- W3 z# F6 p: m
if (remainder who 5 = 1) [set a who
5 e7 q' \6 U( d* Q                          set x ( 0 - Wid / 2 )
2 h) i# D  h, I  i1 H& d+ S+ g                          set y  Dep / 2 ]4 g: H: K. w# J/ O
           set b  int (a / 5) * 5
8 _& U) M# Y4 B! `& z$ A! `! m% s: h    setxy ( xcor-of turtle b + x )
, ]5 j% A: t8 E1 v& [' u. u$ Z; ?          ( ycor-of turtle b + y )2 s0 ?' s% S* J+ K  @
if (remainder who 5 = 2) [set c who
1 k- C+ \) _+ @% D2 Y0 m! G                          set x ( 0 - Wid / 2 ) / p: I+ a7 v5 d! x
                          set y (0 - Dep / 2 )  ]- M8 u& U. o% j0 w" _  o
                          set d int (c / 5) * 5
4 k- j3 \, a+ r( Q1 A5 C+ Z/ U9 B* e   setxy   ( xcor-of turtle d + x )
" Q2 b3 r% L3 Z* J           (ycor-of turtle d + y ) $ @" B; |2 G) f3 u- N
         
9 V, B* ?! V+ E+ ~1 h" s# Z            . K. q6 N- [. k  b. B
if (remainder who 5 = 3) [set k who. I% J5 K9 g2 U* e; P, `) v
                          set x( Wid / 2)  ; Z5 U! f; ^, x7 C# n
                          set y (0 - Dep / 2 ) ]
* a5 z8 S0 X7 g: J, M2 D                          set f int (k / 5) * 5/ }, m' h) e6 l
  setxy   ( xcor-of turtle f + x )
/ h% u2 Q. k% |- G- a           (ycor-of turtle f + y )
0 F+ j4 y- X  n6 Y0 j           
- }4 o! o7 Z- K$ [5 a           
5 C  l9 d8 Y0 Q7 d( S0 S" E/ pif (remainder who 5 = 4) [set g who; D4 J+ W, w+ l( v5 a
                          set x Wid / 2
6 _5 x, H) E+ x6 p& N6 t  F                          set y  Dep / 2 ]$ u6 S% s' ?; H, t. o! \  q5 ?
                          set h  int (g / 5) * 56 Z* O; B7 W+ J5 ^% u4 X0 i) c
  setxy   ( xcor-of turtle h + x )
1 k* O  }) J# q4 ?           (ycor-of turtle h + y )
8 ^. \, x* Q) v, |( T+ t                          4 {7 q/ _9 P9 d9 O; b8 F
                          
9 n2 q2 [( R0 y, d7 `& w0 a                          ]8 i- J; @* Z* k) `5 d& }3 M
end; X0 o  S& R# d$ F* b7 I5 }! R

6 h$ [, V! ]# {8 J[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
6 w7 H/ P: f( b% H应该是
- p, O2 u+ y7 `" Iask turtles [
* J( o) u* J5 m  }if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) $ ~& d  S) A" x1 |" G4 Z. v
                          set y  Dep / 2   k) m' K% b. r7 F" B7 ]
           set b  int (who / 5) * 5! C, L: S1 f# z$ x1 |. U& t" d; y
    setxy ( xcor-of turtle b + x )
6 }$ {& N+ v0 O4 y          ( ycor-of turtle b + y )]]6 Q1 `4 a0 g2 s5 c. b
end" f) X/ a2 H$ F" M% D5 f
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-3 04:05 , Processed in 0.016289 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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