设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7326|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。$ s+ T* R& p$ j, i+ p; E
8 W' n- d! ?% O' D( [. o
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
- Y0 f' q* D$ [, c9 X6 l
: `8 m& p* O" R* Q. O( m# Dturtles-own [a b c d k f g h: K# N/ z& ^6 {" j3 r; A
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
" \; i2 R% s8 w]
" I% l" J7 ^6 u+ S9 y# I/ o" _to new' B: v& q+ p4 ]+ r
  ca4 ]5 B$ ]5 T& i* w
  crt 5 * num_of_building
# P" q4 G1 ~8 W  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]], e* h1 W  E, t, r5 T1 U8 Y
  scatter     ;;keep center-turtle random positions 2 t6 W. C. R1 ?
  unit_plan   ;;make up the building plan
+ ^/ q* s$ N8 z3 g$ _, x8 uend
( t( R7 g( Z; _0 F* Q2 u' dto scatter! Y1 l1 ?& n$ _% B& y" m, e! N. V/ A- u, h) s
ask turtles with [remainder who 5 = 0]: N- u7 y8 V- A
[
& _, L/ t# Q+ b0 K5 I8 G' _set xcor xcor - 6 + random-float 15
8 X, O" b0 t" R- @. Cset ycor ycor - 6 + random-float 15
4 g7 }1 x# o: ~! b' S; j' E. Y2 J]
$ f! w# @6 e& e0 n+ B6 q  d& Pend$ _/ K9 k! q8 ^, g; C
to unit_plan 6 K- r+ |: R3 A, W
ask turtles [
$ [4 ]7 o7 R# U  B$ oif (remainder who 5 = 1) [set a who
6 F( X8 [$ o8 @" G# f! q$ J1 {, z                          set x ( 0 - Wid / 2 ) 1 _, l" d/ S+ O9 H) M
                          set y  Dep / 2 ]
" Z$ v  k. [- R7 G$ j- _, G           set b  int (a / 5) * 5
% J1 ]; T2 r: |) ~    setxy ( xcor-of turtle b + x )0 L6 l( w- ?5 K8 |- x5 K/ q
          ( ycor-of turtle b + y )7 ]( l: }3 y! i: I
if (remainder who 5 = 2) [set c who" W9 b( [* s& o) @9 ?% ?
                          set x ( 0 - Wid / 2 ) / K1 M  A( n# y9 X' {
                          set y (0 - Dep / 2 )  ]' U' i9 B. Z) }  v3 g  Q3 ~- _* h) q
                          set d int (c / 5) * 50 k1 s/ A) P2 C& R0 |: F0 \9 \
   setxy   ( xcor-of turtle d + x )
% m; z2 [2 p& W9 P: m           (ycor-of turtle d + y ) . H' S$ ^8 y8 x. e3 O
          - Q5 A1 j1 L% b  Y; h
            
. x9 j3 O8 l' [* Jif (remainder who 5 = 3) [set k who" T7 i0 s" H! i- Z: r5 h- Q6 c
                          set x( Wid / 2)  5 V: u" K( G0 v; X
                          set y (0 - Dep / 2 ) ]8 g* r9 Y2 {2 c( ?, `
                          set f int (k / 5) * 5" U1 o$ c" {' Q4 k. R0 x$ w( [
  setxy   ( xcor-of turtle f + x )& k" V; q$ `# k: E* P, I! ^/ \
           (ycor-of turtle f + y )
$ ]! d. k2 K4 D. \1 d           1 G0 `) \& H! @, z
           / b: F% F& d: W# J3 e* f. C% {6 O
if (remainder who 5 = 4) [set g who1 a1 z6 D% H7 ~
                          set x Wid / 2
5 F+ B5 v+ ~& E. P                          set y  Dep / 2 ]
5 n& r* {. t# i: T4 q  {0 k                          set h  int (g / 5) * 5
! ?6 u8 t9 a3 x/ H  setxy   ( xcor-of turtle h + x )$ g) N  N% S' w; n7 L1 b
           (ycor-of turtle h + y ) ; N7 u" p3 U* J& [. K- s. O4 z; q( {
                          
" R* c& v# g! l0 `# Y                          , A$ E! F9 j$ m! f* F6 ]
                          ], R1 K) a& M6 O- }- g. r
end
# H; B1 y! o3 f6 A) `* @5 S# u6 }3 x* ~7 e5 k1 d; L9 N
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- ]# h7 Q7 S9 _' V% _
应该是5 ]: X9 u/ E# \: A
ask turtles [
/ l. |/ U  L) b( Eif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
5 G- h/ j8 L# o; I5 T* O                          set y  Dep / 2
4 r$ j5 p9 \$ T) t           set b  int (who / 5) * 5& E7 y4 [. `8 e5 t1 L9 U. `% R+ A
    setxy ( xcor-of turtle b + x )
: G* @7 `" h* F          ( ycor-of turtle b + y )]]. U+ _: J5 W5 o( `' p
end
) i1 u' a6 v# @/ u& h之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-29 17:41 , Processed in 0.015828 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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