设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8759|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。. ~; i1 n" p+ |) d  r
" h' z6 n# |3 L' t7 [: u+ ]
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。# `/ ]* {. G& N7 b, z! S( N
: A$ j3 p" @. @' d
turtles-own [a b c d k f g h3 c9 [5 c& v- E$ H
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ' w' B$ @7 W' j5 s: Q/ a0 ~
]( d& `: m+ }2 P* {5 g. n
to new6 R- i; w5 t* w, O
  ca
3 B) b* k+ `/ F) W3 v  crt 5 * num_of_building
$ s! D: h- r# L# m2 A  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. p/ t4 c  s' R" X
  scatter     ;;keep center-turtle random positions 1 r; `! ]) I8 Q) g. ?4 d0 d
  unit_plan   ;;make up the building plan1 Q5 o8 V  ]5 v5 n2 d9 w# I( c
end) |, E4 q/ ^2 l8 I! J& o# v$ C/ Y
to scatter
" ^7 W, c) R1 R! Y# B; e6 w+ j3 Dask turtles with [remainder who 5 = 0]
% T1 \2 i) C4 y3 N$ [% ^% V! d[4 I9 h1 Q9 c! z! p0 N
set xcor xcor - 6 + random-float 15
# I2 Q  g0 t4 _: f5 b- v& fset ycor ycor - 6 + random-float 15" {4 c/ E& V/ M/ R5 _
]8 Q! i9 O$ ^' j
end8 E1 A* z+ _# o: l5 a5 Y4 |; K
to unit_plan ' i; G% k. B. Z2 h
ask turtles [
/ x  R5 ?) m* M8 H2 p( m4 fif (remainder who 5 = 1) [set a who
+ z* b- N3 H, |* `" O, d5 E                          set x ( 0 - Wid / 2 ) * d8 C$ z# O, R6 k3 M% y6 t* p
                          set y  Dep / 2 ]
! F/ ?4 N! K! V3 O) O5 \           set b  int (a / 5) * 56 T1 T/ P8 o5 [, R* V3 A% Z/ g5 x" |
    setxy ( xcor-of turtle b + x ); n& q" z1 r/ D* L6 k
          ( ycor-of turtle b + y )* [0 c, u) V0 W7 ^7 P
if (remainder who 5 = 2) [set c who
& n! c6 ?! @! W1 L9 z                          set x ( 0 - Wid / 2 ) ( V& J* c) Q9 E/ E
                          set y (0 - Dep / 2 )  ]
8 F4 x' ~0 ]( s                          set d int (c / 5) * 50 {" H& _! V- ?$ Y" V5 M3 H
   setxy   ( xcor-of turtle d + x )" @- Z7 }1 j( s+ {' ]1 \/ C; @
           (ycor-of turtle d + y ) % @# i/ w: s7 o2 w1 E5 v
          $ W9 o. L) l4 ]- m( }0 w6 @# r
            " n* e& T5 S: M+ N4 m% }
if (remainder who 5 = 3) [set k who2 T# A4 ^* ^6 b. z3 K/ t
                          set x( Wid / 2)  4 ~! m6 W, g  R5 c& {2 X
                          set y (0 - Dep / 2 ) ]
8 _/ m) T7 h% q9 o' W) a                          set f int (k / 5) * 53 h& a6 O. ^. m& q+ f
  setxy   ( xcor-of turtle f + x )9 w8 \5 G  y* _6 T9 Y
           (ycor-of turtle f + y )
' w) j3 `: |: h* C           # S8 R" J) `5 t% m, G5 u# @% p& D
           
$ `  Z$ q' Q/ a; O+ e; sif (remainder who 5 = 4) [set g who
" R# Q8 W  B3 {0 S                          set x Wid / 2
4 j+ q4 f; a! K8 F6 C                          set y  Dep / 2 ]( e9 ~" I2 y/ J, u1 D0 r) S6 t$ S
                          set h  int (g / 5) * 5
8 T3 M: }6 q. g2 p; s  setxy   ( xcor-of turtle h + x )- C% ?& x- H" A! F5 k
           (ycor-of turtle h + y )
7 W) g  r% ]0 @' ^7 x                          
  \& M+ n% Y! ?8 b( \                          ; |5 e& ~; I7 T# {. ^9 @* U0 \
                          ]% V3 U5 i, V5 ?% d
end
7 S- i& C6 d; |) ]+ s
( ~. s) a& n! q0 ]  N[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 ^" j% j, Z/ i+ \
应该是7 U! ?. C( U1 G! u" K
ask turtles [4 o% I* y  v5 {+ [/ ?  O! H& |
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 3 Y3 a, U* h( y  x) `
                          set y  Dep / 2
. K2 ~$ \! o- i3 g* j2 m  I. p+ r* L           set b  int (who / 5) * 5
+ L- N* w9 W! v- T, T    setxy ( xcor-of turtle b + x )$ N. i! e, W0 ?
          ( ycor-of turtle b + y )]]; F7 R% L7 W" k
end
' t) E! i( n. Y% l- v& P9 X之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-1 12:34 , Processed in 0.015523 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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