设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7837|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。% a2 i! s* u: c* c

6 b$ S5 c; c% d3 v( M' e7 m但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
7 V; X9 U' {" M+ ], g+ ^7 e* j4 K: H& r( S, r
turtles-own [a b c d k f g h4 r7 F8 L9 f- ~9 j! g5 J' x* w5 J
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , u! H( Q1 i: Z
]+ K( R6 a; n+ e) w1 @) x" R2 [# e
to new8 W: j7 `3 @  U8 E7 n: l
  ca. s, c3 m9 j( l8 t
  crt 5 * num_of_building
5 O" \% k3 d3 O' F  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]2 ]  @- K2 I6 m6 J4 `1 e6 u
  scatter     ;;keep center-turtle random positions 7 K$ [, Z; U) e9 m6 j, h% L
  unit_plan   ;;make up the building plan$ o& o8 r1 A2 t% L0 e
end  J) ^+ P- Y3 h7 E5 P
to scatter2 C3 p0 e) L% j2 \2 [/ e8 W
ask turtles with [remainder who 5 = 0]7 j6 u8 o: e/ w/ \6 }  G6 ]& c
[1 ^. h& x" |. M6 I/ m, y
set xcor xcor - 6 + random-float 15
0 Z5 U+ [& a! A/ \9 }set ycor ycor - 6 + random-float 15
% ^6 B; O, U+ j% b0 K! I3 d]" \* E; y; C# v+ w
end
% h+ m0 R7 b! L4 p5 U+ k+ ~to unit_plan
4 \. X. s& u( T; ^/ x  x3 ?ask turtles [
- W, m& y5 p* l0 i" q( _if (remainder who 5 = 1) [set a who
: W4 y- M0 G$ ?0 v0 @2 ]                          set x ( 0 - Wid / 2 )
0 w% Y0 |, A. c- z9 J                          set y  Dep / 2 ]
6 ]! s; |' j8 r+ o. n' h; u! h           set b  int (a / 5) * 5; N9 g. p8 k# c+ @3 ~
    setxy ( xcor-of turtle b + x )
! s, T+ n5 S0 j0 V* ?' W8 d1 S  Z          ( ycor-of turtle b + y )
: Z9 t* I7 V7 L" w$ y8 ^% Kif (remainder who 5 = 2) [set c who3 }6 Y) Q( E9 z" R" u" G
                          set x ( 0 - Wid / 2 )
3 t% t: R# z' P                          set y (0 - Dep / 2 )  ]
/ s  ~! r' c3 {, m                          set d int (c / 5) * 5( a8 N+ \3 y$ G
   setxy   ( xcor-of turtle d + x )" D1 ]* A: p. p  |6 V: ?
           (ycor-of turtle d + y ) & J& _( {: f6 t
         
. P1 [$ v  h9 _2 I- e            
8 J& l7 Q0 v  O" g4 I3 u, q* O  Yif (remainder who 5 = 3) [set k who2 H: A3 {9 n1 e5 o$ W
                          set x( Wid / 2)  $ a3 }4 Q6 q4 F. @. q3 w
                          set y (0 - Dep / 2 ) ]
8 D: L; j3 b5 G7 D/ h                          set f int (k / 5) * 5' Q2 c/ X9 F- `$ {
  setxy   ( xcor-of turtle f + x )! W* Y9 Y2 y9 p! B$ F3 T9 c0 \
           (ycor-of turtle f + y ) 0 `/ y5 N& d7 e* Q/ M$ ?0 U
           
$ U4 P% t$ x) Y2 C4 G: B! X" O           1 |. k: _" O, c/ t2 F  m
if (remainder who 5 = 4) [set g who
. B: [3 p: M* V                          set x Wid / 2
" M: G( ^1 v! \7 S+ }, z                          set y  Dep / 2 ]+ R7 r! x- h" K4 R. d7 Q% x2 d9 _
                          set h  int (g / 5) * 5
" y3 @7 Q# a$ N6 Y" c- k  setxy   ( xcor-of turtle h + x )
2 t5 ~* k5 a- K, v5 H           (ycor-of turtle h + y ) $ u( b& Q* b( n8 H; d/ g' R
                          4 o! U4 F) h; p' h: h/ @# e4 ^
                          
9 }- k2 x' W3 Z  E1 F0 A! k                          ]# Y5 O  x! R0 c& K6 I
end; [& t6 h+ T; _: D

6 B! m* B) z3 y- W( r/ r% k[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
7 S! ?; T- P; n应该是2 |6 O& @6 Z0 K2 U, \4 N
ask turtles [+ C3 A6 g, Z; a
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
1 m, m$ }8 a: D- u; w                          set y  Dep / 2
$ H8 y! H8 h+ |% y  U' ?           set b  int (who / 5) * 5( \& R) y# W7 p: [
    setxy ( xcor-of turtle b + x ). A. B9 i  f! E$ h1 I" W: O
          ( ycor-of turtle b + y )]]" k  M4 R; Q: U2 H% h
end
3 m( n( ~2 Y5 A6 N9 C之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-7 15:51 , Processed in 0.014947 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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