设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7341|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。6 @7 F8 z: S2 l6 S

& V8 w7 r) e: K但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。! |8 F# d9 B0 V& W' `# m5 r$ h
) E" F+ }: |, {; r4 |
turtles-own [a b c d k f g h
& V. J2 k' N4 i  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 2 w* R9 ~, |) `3 V3 }1 {( s
]& O  i* {( f+ Y/ r8 }6 r; I5 [
to new  S$ y& u' ~  H* X- `& E( G
  ca7 }( B7 V& Q! A& f! x6 j
  crt 5 * num_of_building+ K9 z, [+ x8 ^: b
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. [4 i5 z* L6 f2 I' K
  scatter     ;;keep center-turtle random positions 5 R9 Y4 K3 ^6 _1 G- A( V+ G
  unit_plan   ;;make up the building plan
5 `. U8 {6 Y# ^1 O0 O- F# Aend) s' Z2 C# f+ h; t2 p7 B
to scatter
, H% N4 a6 h6 p0 @7 R. w5 W# _ask turtles with [remainder who 5 = 0]8 b. E* N" Q% c3 a1 _6 C, F* I
[
' s5 B% n9 }, L4 k! L! Zset xcor xcor - 6 + random-float 15. @& ?( n( p6 q- A0 @
set ycor ycor - 6 + random-float 150 H' _' d( Y9 l; O* n
], ~$ o: O* |: Q( y+ w2 k4 v% c) r3 V
end( ~( P% [! _8 P+ K/ }4 ~& u/ b: l
to unit_plan 7 z0 p. y2 O4 w' t: q
ask turtles [
" p+ d8 T% a' k* Bif (remainder who 5 = 1) [set a who
$ r1 z" x# ?! l* \, \0 z% A                          set x ( 0 - Wid / 2 )
1 \6 Z/ \0 L) [                          set y  Dep / 2 ], g* C; I4 |0 U8 D; @( G
           set b  int (a / 5) * 5. O0 v8 i8 n7 ?5 l
    setxy ( xcor-of turtle b + x )
: x! n/ V6 |( U# t0 R: F& f, b$ @          ( ycor-of turtle b + y )8 Y5 ]4 ~. c( e
if (remainder who 5 = 2) [set c who
. S! p# U( J/ T+ q                          set x ( 0 - Wid / 2 )
0 O1 v' ^2 r0 C                          set y (0 - Dep / 2 )  ]
2 A  g3 x. m* |, p6 I8 c) t                          set d int (c / 5) * 5
( ]: v* z$ _$ ~4 S3 O   setxy   ( xcor-of turtle d + x )
' Z/ ], i9 F. G! \' ~& Z" K+ f; _           (ycor-of turtle d + y ) 0 T& o, ^+ F% y& z7 C. p: J
         
2 e% h1 X9 J- q/ o            - C; m. ?- ^# J: y
if (remainder who 5 = 3) [set k who! D) a- T5 Q' O/ Y9 A
                          set x( Wid / 2)  1 A7 d/ r& U7 X8 E, Z' ]: ], h# ~
                          set y (0 - Dep / 2 ) ]
& i' {# m* P; K* x7 R) k' m                          set f int (k / 5) * 5# N$ f; K7 K/ ?9 `; }( @, U
  setxy   ( xcor-of turtle f + x )( d5 u7 |4 }& z. v* F: }( {; ?
           (ycor-of turtle f + y )
) c. ^: u2 T" g4 ~  [7 y           . D' Z4 y4 N. `! U" w  ~9 @
           8 e' g1 e: e9 {: B
if (remainder who 5 = 4) [set g who. I+ o: [- z5 e( z$ \
                          set x Wid / 2
3 D$ z4 A5 E. N; D: Y                          set y  Dep / 2 ]  r* M- z8 i& i
                          set h  int (g / 5) * 5
; @; z& T" u/ `; y" [% B  setxy   ( xcor-of turtle h + x )' H1 u1 J" ~  k, Q' V
           (ycor-of turtle h + y ) ! G; F  I3 g+ X' n
                          9 @8 }& g2 ~  C. r) o
                          " [* @, [& r! T. e6 H/ q3 e
                          ]* D+ X, W3 G8 x$ w8 n
end
/ A, U5 f0 d' Y% a! |5 R0 y% V
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 v9 [5 I- P1 ^- O2 H+ V2 M
应该是
6 k: j) E+ Y. F/ m# T5 \+ m  Q5 B6 pask turtles [
1 @5 K) y0 m+ \& m8 q) l! S, cif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 4 \0 @6 z5 k* f
                          set y  Dep / 2
0 ^1 F- c2 e6 x( g( X           set b  int (who / 5) * 5
* u) Q2 a3 F, J! b; F: c2 A    setxy ( xcor-of turtle b + x )
5 j8 Y: {! ?; i          ( ycor-of turtle b + y )]]1 t+ C/ ]# C" N# b2 m
end
4 C6 k4 \6 N0 ^" h9 M之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-31 03:45 , Processed in 0.014267 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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