设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7672|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。* ?5 j8 W6 q) F; w6 }9 y, B
; @% J1 B' E- k2 _# H
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
  |+ ^, O+ P' M  O8 H+ a
9 L% l5 y5 N5 D6 z4 Q  fturtles-own [a b c d k f g h
* @- N. d% H* A+ |# a- O, E  E6 i  x y     ;; these are the leaf-turtle's offsets relative to center-turtle % E" U3 O' Z& w7 a, Q/ I4 v
]0 N2 u1 f( _; o7 O1 m  k% u9 Z
to new
6 {, C5 _: L3 D1 b! F* D; H( N  ca
! I6 |4 B" i7 H' q9 d2 h  crt 5 * num_of_building
# C3 x* S  m0 A) m  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
4 ~0 g6 i& B4 v( J' M9 N/ D  scatter     ;;keep center-turtle random positions ( g9 n0 g3 G3 J. m' e
  unit_plan   ;;make up the building plan" u" |. ~! i) ]. o* g/ |& E
end
# U6 W! k# n( a7 a3 Rto scatter
; @" ?4 o/ Q4 u0 Iask turtles with [remainder who 5 = 0]
" y3 H& x5 J- C5 e; v[
, F) s4 f7 k  D! l; i0 }7 I+ ^set xcor xcor - 6 + random-float 15
3 Q; l8 |+ \+ ?  a6 Q; ?$ Uset ycor ycor - 6 + random-float 15/ O6 E. K1 X$ e" @" Q. J* C- M
]
. K6 V8 I6 s& M) B$ Zend
. F! p7 u1 [7 Zto unit_plan
6 z: `8 C6 o9 ?+ ~% [ask turtles [
# R2 C5 j4 F) e2 fif (remainder who 5 = 1) [set a who 8 K8 ^6 I6 J& N' b
                          set x ( 0 - Wid / 2 ) - k, H; u) m9 c! o* F9 x: Q
                          set y  Dep / 2 ]
' c; a0 l; T$ ^' V  X' |           set b  int (a / 5) * 5) x- s' y( u2 t! ]
    setxy ( xcor-of turtle b + x )
2 V8 f3 S* {# R1 V. D/ u, R0 Y( \1 m          ( ycor-of turtle b + y )
. U7 H' N  \2 C: f1 Lif (remainder who 5 = 2) [set c who
9 ~- q: b# W; B: y) n$ U2 V                          set x ( 0 - Wid / 2 ) 7 ]) m& n2 m6 Z8 t1 X4 M
                          set y (0 - Dep / 2 )  ]
5 S; X0 Q6 t1 D/ n                          set d int (c / 5) * 57 l8 H  Y2 ~# P  K# h6 p
   setxy   ( xcor-of turtle d + x )& ~$ [5 @# s! ]. M$ C* M4 V
           (ycor-of turtle d + y )
" D% K+ X) G$ r0 Z8 I+ E         
' C6 ^( R  d& X7 v0 J- m4 T- K' [            3 n* \9 D& _: n4 F+ {4 c7 N
if (remainder who 5 = 3) [set k who3 M3 O7 N2 x  D0 e
                          set x( Wid / 2)  
* O! J! {. a0 Y+ i; E                          set y (0 - Dep / 2 ) ]
" k# X/ v6 [, J& k) _5 e$ j                          set f int (k / 5) * 5
( C/ H# Y3 I( s/ E0 I, G  setxy   ( xcor-of turtle f + x )
$ ?7 v: {% i! y$ q: F           (ycor-of turtle f + y )
, W1 L0 M* @1 |  T# g           ( L5 r& u6 z) i6 @) w! W& K
           
% l) v/ Y5 s& A: T- jif (remainder who 5 = 4) [set g who4 Z# g- w4 w0 m) u
                          set x Wid / 2 : Z7 I+ n  @* `$ ^
                          set y  Dep / 2 ]3 ]* `1 a- Q; ?) i
                          set h  int (g / 5) * 56 F( N! b, v. V
  setxy   ( xcor-of turtle h + x )  l8 R! i$ g4 ?
           (ycor-of turtle h + y )
& k; W2 E0 m0 V- ]$ |5 w5 Y" X" H                          . s% b4 ?4 N3 G: I6 @8 }/ [9 V" Z
                          & m7 ~* c9 B' R) t% m/ {) @3 X; G
                          ]
& u4 l/ n$ C; ^3 Y3 R$ R& ^end. s, @9 K6 U' D

: B! w- r( [( R3 D[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," |2 ]  A% K. C  P( S% [4 t
应该是
5 t5 c: T+ d0 @% [+ [ask turtles [8 F! u4 G8 t/ V3 O
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
( v9 P9 p. r* B6 ]$ E* @, p+ b                          set y  Dep / 2 2 a1 A8 L9 t! E% B' j
           set b  int (who / 5) * 5
  H+ G% z) y5 k5 F' w- \    setxy ( xcor-of turtle b + x )- t1 F0 N: u5 F! e! s" K3 e+ ~
          ( ycor-of turtle b + y )]]0 [! Y/ w: ^5 a: Q7 p
end! O1 A! n9 g, {5 x
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-13 08:17 , Processed in 0.022100 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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