设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8430|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。$ w5 |& {: m( t' ?
! i' w, v  y/ Q
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
! s1 E7 v+ @! U: g
3 _# w9 _# Y& X9 v7 u9 ~( Mturtles-own [a b c d k f g h
6 z* T- g6 h7 z6 n6 q, x% a  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: [6 @3 h: n' P]
5 p( z, Z7 Q: ?( wto new- @1 ~9 b; ^% d! p6 W/ h! F
  ca
  q/ b" ]' E; B  crt 5 * num_of_building
" o  P( d/ Y( i1 @# J4 \2 L  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]- @3 W6 T0 C. B) T% A& O
  scatter     ;;keep center-turtle random positions
( z3 |- e& V: h; p! y, U  unit_plan   ;;make up the building plan) T5 p# G1 G4 G! o5 D9 z. s  l5 L5 [
end
+ Z+ G1 R" d4 [& E5 I1 jto scatter
4 O% t+ ^1 r0 eask turtles with [remainder who 5 = 0]" G, y0 Q, Q" j* X0 c
[
3 S3 _+ p) Y0 X; E( R( qset xcor xcor - 6 + random-float 15; v2 E1 T- q9 V1 m+ ]/ e1 @  K
set ycor ycor - 6 + random-float 150 L  h3 \# s  a2 m1 e
]" G" k* `7 W! b( W( c
end
/ I6 m' O4 @; I0 `5 Zto unit_plan * J2 X4 T  _8 \" P7 S
ask turtles [
! e3 }, o* T4 q! A6 tif (remainder who 5 = 1) [set a who
) S, D  E' y; E5 C  z  T9 M5 o                          set x ( 0 - Wid / 2 ) 8 H0 h; ~+ [& C! N2 M2 n
                          set y  Dep / 2 ]" X$ J/ ]9 s$ v( H
           set b  int (a / 5) * 5
& ?" Q8 `. ~! l( C2 x! }! t    setxy ( xcor-of turtle b + x )
" L$ D- r+ F2 I' e1 e* F          ( ycor-of turtle b + y )+ D$ k# s+ v4 m9 W, W  z
if (remainder who 5 = 2) [set c who
% \$ R  e3 g3 i4 Y0 w" l                          set x ( 0 - Wid / 2 ) & S- F+ [0 I( d" a
                          set y (0 - Dep / 2 )  ]
! e% c; P: `% a# O+ f                          set d int (c / 5) * 59 U+ M) n& x+ V/ O# m5 q+ o8 H1 D
   setxy   ( xcor-of turtle d + x )' _: r5 R5 d( P- I6 N$ Z" ~
           (ycor-of turtle d + y )
6 H' S2 {- p' U  {* S3 V         
* K& D9 z7 W( g. P# ~; K            
2 a+ l, t5 g) U; \5 n4 P3 R# }if (remainder who 5 = 3) [set k who
5 j" ]: J; K( Z6 d3 p& V( v. a4 k) @                          set x( Wid / 2)  4 h6 ^5 ]2 r* r- w0 X, @' \: Q' H# w
                          set y (0 - Dep / 2 ) ]
5 w. [: l% w% K0 O- y" D0 Y: L6 D                          set f int (k / 5) * 5
7 d' R' D4 J$ T  setxy   ( xcor-of turtle f + x )' i8 S' j- w% O5 H0 L
           (ycor-of turtle f + y ) - _% u: V; `5 O
           ! T' D1 x# _: ^( Z' m& b
           6 z) n. o$ ?; U  r) ^6 l  f$ R
if (remainder who 5 = 4) [set g who6 e% p" U- Y# ]0 A: E
                          set x Wid / 2
" i% ]4 |2 b! R1 p& z8 Z                          set y  Dep / 2 ]4 c/ O# q" F7 s6 Q
                          set h  int (g / 5) * 5
" K: q+ s5 v% C  setxy   ( xcor-of turtle h + x ), O1 h7 a' O: ?& L
           (ycor-of turtle h + y )
) j9 A1 A' H$ m! Y& m5 P                          1 z, W: P* T' d$ o! _, n7 r  a
                          9 U' d3 [5 h% j& X( y
                          ]
& s- \/ \1 t4 x- Y+ G$ m* p0 Q* K4 |) C0 lend4 ^/ Y7 F2 m. }8 h1 S" A  }
1 A+ Z+ I  U( t' K0 U1 G
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
3 y; ?( n/ k8 N5 I0 R9 d; ^应该是
. _. \" D0 t' [4 l* ~; Nask turtles [
6 l# C% m" F7 `! \2 iif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )   E, ], l* y! A% ~. T0 O
                          set y  Dep / 2
3 ]5 ]/ [' s5 [' i           set b  int (who / 5) * 5
; Y& I4 a& |9 O) R. H6 b! j" b    setxy ( xcor-of turtle b + x )1 Y; o2 _2 W, @$ y, g! z" \
          ( ycor-of turtle b + y )]]0 r# l  ]: D5 G
end
7 n( G: U3 ^9 K  {9 y之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-25 11:57 , Processed in 0.019777 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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