设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7175|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
1 z8 D' b, Z  d1 f) y$ ]% f# P* _% c5 t: A8 \; W1 j2 d3 c
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。& q: w( H$ {5 n+ g; b
- E. K4 W2 k9 H7 n
turtles-own [a b c d k f g h
* G3 l* w( N6 g4 t. z( W  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
$ Y+ ?  l4 `6 b; e]( D4 x8 b! n2 ?1 R2 h& B( T
to new
# j2 s. y0 V' z8 M4 y  ca
' v# {' c8 E( z  crt 5 * num_of_building
' U, C. ?9 Y+ |* A% _  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
* X! y. i+ A* ^  N& @; q) _  scatter     ;;keep center-turtle random positions " Z- h5 g# Y7 T7 @7 P
  unit_plan   ;;make up the building plan
! X1 N0 B6 @, c$ i5 yend! o; L8 `- y0 b( o/ p
to scatter% O9 \/ W7 _" ~$ W) R3 c
ask turtles with [remainder who 5 = 0]
( L& ^% f% e* _3 v$ D. m5 F3 n[
; @/ _6 ~) S$ E; N% A. o4 Iset xcor xcor - 6 + random-float 15
9 ]/ O" k  Q  I& Fset ycor ycor - 6 + random-float 15
3 i9 w- F9 n. c+ W& ~# n) r& x]( ~2 U0 T: z( H4 W1 k
end5 |" Q: C5 t/ E: t  V1 ~7 ^" n' ]2 v
to unit_plan
9 n" z  \6 A! o5 cask turtles [8 V7 e' o: H$ d, R! j
if (remainder who 5 = 1) [set a who & ^. Q) b  k% ?
                          set x ( 0 - Wid / 2 ) . w( Y# E/ g/ e* _  Z
                          set y  Dep / 2 ]/ [3 }$ @" }2 A% ^
           set b  int (a / 5) * 5
6 \" u" o  o+ T8 F+ e! @8 `    setxy ( xcor-of turtle b + x )$ y) u% ?" u3 R& Z0 x8 R
          ( ycor-of turtle b + y )
5 w8 ?9 X" ?" h# [& d; tif (remainder who 5 = 2) [set c who
3 {  T" \! d/ F# u: L                          set x ( 0 - Wid / 2 )
3 S! F/ G  u/ W0 T5 e                          set y (0 - Dep / 2 )  ]
$ V5 A& v, q6 ^8 Z1 M7 C                          set d int (c / 5) * 5
1 E0 W7 ]8 ^9 E' x0 `4 M   setxy   ( xcor-of turtle d + x )4 d1 v2 R6 e& y6 J7 K+ _
           (ycor-of turtle d + y )
7 n% K6 R. p6 f) R0 ^) R/ X          $ x7 w2 I. ^2 c/ M
            0 \8 h  @$ [$ H9 o3 |
if (remainder who 5 = 3) [set k who2 Y; |  u9 {( B) I0 G9 O/ z
                          set x( Wid / 2)  
" `1 ]- a. E' b! }5 b* X                          set y (0 - Dep / 2 ) ]
+ ~' K& Z  J  g6 L% x8 j# @; e                          set f int (k / 5) * 5
- b& K) x: V- W& _' }- T  setxy   ( xcor-of turtle f + x )4 `& I5 A% o* K) ]
           (ycor-of turtle f + y ) 4 F0 I$ q& X! x6 t4 d9 J1 Y
           
. I% x) y  t! K. n           3 _5 a# z+ j+ D* H
if (remainder who 5 = 4) [set g who6 R# J* S/ S* }+ a3 o2 |' d
                          set x Wid / 2
/ X! u+ l: ?7 S1 a                          set y  Dep / 2 ]
3 I( p; j  ]. c3 ~: r                          set h  int (g / 5) * 5+ _4 S, x! n, ^( _) Q- y2 T/ `5 s
  setxy   ( xcor-of turtle h + x ). a$ p1 Z; D. V* X# r0 w4 Y1 u
           (ycor-of turtle h + y ) % _  s- [1 A# h) e& }' z- f
                          
7 v5 a1 {* e/ q                          
4 o1 A5 K) ~: m5 w6 G                          ]1 y6 s- c" m( M# B1 f
end
+ }, Y: F$ U) w6 o$ [- F4 n! D! R( v* T
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
5 i# J; o5 w2 u应该是4 p+ _5 K; `7 h
ask turtles [
5 v2 s" Q+ y* z6 k) ]5 s, Mif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
/ b3 ]4 {3 D3 N# p- v                          set y  Dep / 2
% g/ I3 p, r" n0 U# B& ^" f5 N           set b  int (who / 5) * 55 r, g% n" h/ A# D9 K# `
    setxy ( xcor-of turtle b + x )/ u5 x% a5 M6 P4 ~( S3 Z0 ?4 S
          ( ycor-of turtle b + y )]]/ P$ D$ \" n& [  M* u
end
! x9 ?  u- z. N- E! j7 t6 t之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-13 16:07 , Processed in 0.021712 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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