设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8093|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。# L4 ?* l. H& W; V$ ~. n: e
. F4 y( T% O! J
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
1 I# `# y) _0 i6 E3 v; b
" t* a5 E! l6 ]: k! W% ?turtles-own [a b c d k f g h
" }2 S# \' q) H  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) p: x( @4 _- s# }% \  H]% F: W; @* n* ^! F( N1 N2 }8 [
to new+ I2 y6 Y0 q% l3 o. f
  ca
; e9 V4 ~; e8 ?  crt 5 * num_of_building# O9 W% D6 Y! S# v+ c
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
8 U4 V2 z. o0 {# S# Z; q1 k  scatter     ;;keep center-turtle random positions " a3 b' l" F. I1 K: P& O. l, w$ o
  unit_plan   ;;make up the building plan
8 [! U4 ~/ `2 a  L# pend
% J  a; U5 O% H5 ato scatter
6 E+ [3 e0 \. S) ?1 D+ }ask turtles with [remainder who 5 = 0]
" b8 c9 d; ]! X2 w[
$ p0 K4 k+ Z; Dset xcor xcor - 6 + random-float 15
+ z# I3 b( {) j; P3 {: sset ycor ycor - 6 + random-float 15+ x7 N6 b/ r$ X  T( a+ z
]1 L4 k7 X+ W0 m: G
end" U4 E* y* \3 D( ~% j* x1 B1 @
to unit_plan
" o9 @" I' d1 B# t3 f: e# M+ dask turtles [
8 J0 O+ f/ Z* D- ~& o6 G  K" s& xif (remainder who 5 = 1) [set a who 9 B( n, c8 o, v8 P( q" e
                          set x ( 0 - Wid / 2 )
: w) @" W/ T: H" V4 y1 a                          set y  Dep / 2 ]
2 ^4 G8 ^+ X3 D# v7 J- g+ k6 o           set b  int (a / 5) * 5
9 r. I4 |; g& ~5 \9 p) f    setxy ( xcor-of turtle b + x )
" b1 J) _) ]& b6 U; X+ Y$ I1 Z          ( ycor-of turtle b + y )
- ~/ y& K7 C4 fif (remainder who 5 = 2) [set c who7 z) L% E# A' [' ?
                          set x ( 0 - Wid / 2 ) + V3 G/ I& Z) `. m4 t
                          set y (0 - Dep / 2 )  ]& R8 l7 C) U8 O% W
                          set d int (c / 5) * 56 R$ _$ b; _7 M+ W) |) k4 L
   setxy   ( xcor-of turtle d + x )" s) \, A# P" @8 U! T* C* Z! I2 c
           (ycor-of turtle d + y ) ; |0 R( l  n. h! `. E
          . w+ Z& n3 U+ V2 v# Y% d
            
' J. r6 }! }1 O( |2 ?# eif (remainder who 5 = 3) [set k who+ O4 b! d$ P# M# r5 G, n1 k9 R
                          set x( Wid / 2)  
+ Q- {$ X9 x$ c6 |2 f- w* f& U                          set y (0 - Dep / 2 ) ]4 j, y. [$ l: Q3 T8 o
                          set f int (k / 5) * 5
6 y, y- f- N- d7 ?' Z  setxy   ( xcor-of turtle f + x )
8 v9 m, d' o+ Y9 q; ]' L           (ycor-of turtle f + y ) ) V4 v7 E, D# V' p3 x* n6 ~
           
! B( ]& I( f5 o6 z" G5 E           
! A. E( G/ @- c; N6 ?if (remainder who 5 = 4) [set g who
) G( W7 q6 L4 |# r3 ~0 Z3 @                          set x Wid / 2
& {  o1 m4 |9 X+ p/ |                          set y  Dep / 2 ]5 I+ m/ z" h( \5 V8 ]+ P* \. }$ B  g6 q
                          set h  int (g / 5) * 53 E/ [& F7 }8 t$ x6 B
  setxy   ( xcor-of turtle h + x )0 f* r5 m; M9 k. f( ~' y. N
           (ycor-of turtle h + y )
! \& C, J% G; {9 V3 o, ~/ ?) f                          
1 X4 e! J* Z8 T9 N5 r                          
4 a% N% U7 u/ d+ f, t9 |4 a2 `& w                          ]
7 `$ I0 F, t1 ~# p: [0 @end: i1 M+ Y. P7 u6 C; M* |

# r! o% f( O) m: D9 Q$ F' o[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
8 M1 z& x; p8 u( [  ?( g( r应该是& ]" H; W8 ~; J- V/ e+ R1 A( `1 C
ask turtles [
: j9 J; n5 |4 q, {if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
+ [8 j2 V, m) `& v( L                          set y  Dep / 2
0 K& h) m% @; N: O. |; Q           set b  int (who / 5) * 5
9 \' b: G/ T3 D. J5 P) i/ C    setxy ( xcor-of turtle b + x )
$ s5 i9 \- f' v* C. U5 t          ( ycor-of turtle b + y )]]8 K& _9 A% j/ R; m4 O' b
end8 s' l- L3 X' h; p8 m4 p5 T
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-7 06:05 , Processed in 0.016407 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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