设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8368|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. [& E9 \* M1 f
4 w0 ~9 X; O1 F8 [* L7 |! {但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。7 Q8 v4 Z' @1 A2 ?- W

; V: b# a3 z4 U  yturtles-own [a b c d k f g h9 x6 N! ^" a9 V
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
+ i. v9 @7 u* x1 p8 Z7 \]
4 z" o. S( G1 i% f0 f8 J9 Jto new6 S* |+ f* o) _# s* O  m2 k
  ca
8 l0 Z7 V2 q+ z4 I/ C! h  crt 5 * num_of_building
  f9 b3 _( V2 N7 U; o* e  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
- y! r1 \& t. @; B0 _: t  K6 ~" L  scatter     ;;keep center-turtle random positions
/ I: M  L7 P) v1 S" w, Y  unit_plan   ;;make up the building plan% v1 z1 C& W  F- k8 D
end% ^( s0 A7 j/ s' K
to scatter7 `' ]# ]1 p! A' B0 p; D/ Q: M
ask turtles with [remainder who 5 = 0]
8 S! f! @2 B* ~7 H9 x* ^[
1 Q7 [+ Q' Q) u. V4 Mset xcor xcor - 6 + random-float 15
  ?; v0 J( Q' N( E, N7 Vset ycor ycor - 6 + random-float 15
- @: B  K6 ?' {7 z' K  }]
( C$ Y% _) I) i' N' I8 aend
7 x3 O& k( j$ B" n: y7 vto unit_plan
- G& f' j5 p& V; |0 a% v( kask turtles [
/ j6 ], E* J1 L9 qif (remainder who 5 = 1) [set a who
% L9 L4 E, c* S, [& a4 Q' e                          set x ( 0 - Wid / 2 )
8 K/ Z" i4 \8 V7 d' W                          set y  Dep / 2 ]
' G+ i, ^2 r/ `! K; K6 A3 a           set b  int (a / 5) * 5
( Z& O: c1 x8 X  T' E7 X    setxy ( xcor-of turtle b + x )3 [5 M6 A* k$ v% g7 K/ B
          ( ycor-of turtle b + y )- K, d! L  b2 f
if (remainder who 5 = 2) [set c who5 X3 N& r* C! i$ _
                          set x ( 0 - Wid / 2 )
' i8 n: N* k' a( u% ^                          set y (0 - Dep / 2 )  ]
6 |" ^( c# A9 |; @1 d                          set d int (c / 5) * 5
. q* ~7 c( C- X1 a9 |  F% ^   setxy   ( xcor-of turtle d + x )0 ^$ |3 z+ Q9 C+ x1 @
           (ycor-of turtle d + y ) # e, F: p( _& s  S7 `. D
          2 P/ R  r2 Z  A* f; A
            4 M; t; D& W; [/ Q) I
if (remainder who 5 = 3) [set k who
  y, R+ R& d0 P6 K# `# J/ t0 D7 N                          set x( Wid / 2)  . Z3 [' j$ m$ V
                          set y (0 - Dep / 2 ) ]
! b1 n( y4 R4 @. A; j                          set f int (k / 5) * 56 k& X/ {( V- Z; O/ \) s$ a
  setxy   ( xcor-of turtle f + x )
; p' ^6 {  L) d5 F. l8 u           (ycor-of turtle f + y )
9 U: p- h* P9 X4 ]/ \, G  p           
2 |5 a, F2 `- g( B% b           ) J# I+ G) Z+ t$ Q4 [; x( K, M
if (remainder who 5 = 4) [set g who8 `5 r" u7 G  s( V5 Y8 w& n, k
                          set x Wid / 2
1 }& U' K/ D6 \2 g6 t( _                          set y  Dep / 2 ]( i* b; N: R) l" p+ ~
                          set h  int (g / 5) * 54 A! T# [- E( Z
  setxy   ( xcor-of turtle h + x )
: E- m8 G& N2 \0 P           (ycor-of turtle h + y )
* A2 _% r1 B- d. |/ a                          
5 i5 j7 f  x6 T  a$ S                          - Z8 {7 l2 M. x! S5 K4 i
                          ]
2 ]3 s1 }, z1 n9 K; ]6 Q6 s' d' `end
, J  u- ]9 @. I' H
+ r; B# C$ B2 b" t# |4 @* K: x[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
4 C6 |" ^( F7 E, K* ^: N! R应该是
" Y. B3 [4 O4 @4 t6 p9 e) n5 Zask turtles [$ U: R, O& y$ [1 |
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
- A! R' R$ C! [- C                          set y  Dep / 2 8 |) ?1 Q, f" ^& l! ~9 Z# p- C
           set b  int (who / 5) * 5
9 T0 U) m. O4 Z7 |' M( y    setxy ( xcor-of turtle b + x )* z8 |: g4 }$ F* D/ c" b( h* p
          ( ycor-of turtle b + y )]]
" ~# U; l. `9 C/ r, s, Iend
6 y: j6 `1 }, f. m4 e8 r: V( ^之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-16 06:31 , Processed in 0.016526 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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