设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8030|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
7 S! u. X) x: p$ a. l& m0 i  W8 e1 w& I& K
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。6 Z4 J# d- ~. o1 V$ ]
6 m- B6 V5 s( M1 L1 H0 k
turtles-own [a b c d k f g h
3 ]& t$ m2 g4 ?0 ~  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
3 l: \4 K+ K5 H' u]
0 E' T( s" A' |# ~3 a, `- I$ I7 }, e2 ~to new
! c# q9 O! J- r  ca7 p* v" J' f, U4 [+ E
  crt 5 * num_of_building
) d3 \% g1 Q0 L9 e3 r% G  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]$ x) l) f, p7 Z, m& i8 L. }& U
  scatter     ;;keep center-turtle random positions
9 r* U. i2 H% T+ K0 M2 @  unit_plan   ;;make up the building plan6 Z$ v( T* E4 l! z5 ?
end- Y% J/ \4 W$ U! ^# |0 R
to scatter3 Z7 h, V  c/ M1 ~: X% G- ^2 ^# ~* y
ask turtles with [remainder who 5 = 0]
7 A- j& }( E7 z[$ Z7 a+ q) H5 }# I$ Z+ L
set xcor xcor - 6 + random-float 15" b/ |# y# _# o* u. P' H
set ycor ycor - 6 + random-float 15" ?/ n7 u" v* @3 s
]
2 t1 O2 I/ j5 u# ^end
# C2 t- k, |7 X: g/ ~to unit_plan * `9 c% F# R( T; X4 K: Z
ask turtles [5 Q% Y' l# y! ^7 p7 I
if (remainder who 5 = 1) [set a who 7 J( P( Q. l1 w- @
                          set x ( 0 - Wid / 2 ) + _1 Q6 C# B8 c# p
                          set y  Dep / 2 ]) h' r* I& a- j& U# P7 E4 u$ |8 k5 ^
           set b  int (a / 5) * 5
! U; ^1 b* s0 t. G    setxy ( xcor-of turtle b + x )
% m: j# Z4 z* r  X; e" e) S          ( ycor-of turtle b + y )
3 i% G( q2 I* H7 h* k+ X. e* v2 Cif (remainder who 5 = 2) [set c who1 }. c+ c: @6 ^' O$ X+ B
                          set x ( 0 - Wid / 2 ) " s; V  l& ~8 z3 i9 d" e
                          set y (0 - Dep / 2 )  ]5 ~) z* f! e" h" J* n0 C/ @8 i; m
                          set d int (c / 5) * 5
1 c1 Q+ p  `6 |/ W   setxy   ( xcor-of turtle d + x )) B: z) @5 @0 l* Z3 E7 ]: f' V
           (ycor-of turtle d + y )
, r9 }; {1 Z% c7 p2 x         
; S8 t4 M  |/ W/ [$ p' u0 l            5 a4 T( h/ n$ F0 ^4 g
if (remainder who 5 = 3) [set k who
1 H3 I: ?: T4 V( T                          set x( Wid / 2)  
3 T% p1 j5 ~- G3 I                          set y (0 - Dep / 2 ) ]2 c. \/ H; Z! ]" \
                          set f int (k / 5) * 5
2 X* O3 v: S# e3 l5 Y  setxy   ( xcor-of turtle f + x )
9 L; u, ~, ?, `/ b           (ycor-of turtle f + y )
7 A6 ~. P: Z; y$ y5 ^! @2 X           1 X; a, q0 ~6 t
           & _) j8 p/ g8 x' D6 @- K
if (remainder who 5 = 4) [set g who% S7 W/ C: C) ?& ~7 t
                          set x Wid / 2 ) B8 {* n. e+ R: K0 w
                          set y  Dep / 2 ]9 O) ]; k9 f2 M2 _
                          set h  int (g / 5) * 5  v* N" S  M( u( L" x& u/ A; S
  setxy   ( xcor-of turtle h + x )
3 I5 O- d- x# \, |1 G           (ycor-of turtle h + y )
' D* b6 C) A+ R+ n7 _                          
, G, f6 ~0 g9 I                          7 }5 N/ U- L9 E
                          ]
& G' g4 D. t. K! H/ z1 c/ Kend3 p3 l5 ~% e" ]+ V1 @

& Z/ A- B- b! m% [+ }[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
% s# @, P+ w/ L3 Q3 k; H3 d0 N: d应该是2 b4 w: d8 N! K: K/ M6 \
ask turtles [: P/ d3 `( Y5 d
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) $ \) B, v1 Y* D2 o' `
                          set y  Dep / 2 ' [) w" B" D6 w7 X* j* `, K# K
           set b  int (who / 5) * 57 S3 ]( L: P& q1 `4 P
    setxy ( xcor-of turtle b + x )6 w1 E+ S1 }+ z2 R! T$ u3 T  |# ]
          ( ycor-of turtle b + y )]]8 V4 T8 Z( s- S. t4 s) `
end% P! r% h, E$ o3 k
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-30 06:32 , Processed in 0.014193 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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