设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7363|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。7 H4 m0 i! o) b3 C

" f  o( |; a) o  R9 k, h* J但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。3 U  W& g% C6 z. s% A5 S6 Q% p

  R0 ]: F4 P  k  w/ V7 U* Kturtles-own [a b c d k f g h
2 A% r4 J- _0 N+ v2 T  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 1 Q, `& X/ o; r- ~4 S3 T& Q8 b
]
+ m% P& k1 F: h$ cto new
1 ^# |# ~+ @( _  ca
4 v. F9 i; s; J" u" J; _: I  crt 5 * num_of_building# r# \2 ~0 D+ e/ `9 q
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. W4 n5 ~. J& C# a6 Q6 `0 {
  scatter     ;;keep center-turtle random positions " d) K( n; P; W5 S1 t: G& a6 S# {; K- F
  unit_plan   ;;make up the building plan
" |0 g2 W( T( }+ J- ]+ send
+ \9 k/ c( F0 Q" f2 |to scatter9 P1 g3 R3 ]. y0 z
ask turtles with [remainder who 5 = 0]! N9 F  n$ v* t" `/ l
[
. x: Q! |. O* ^4 `, Bset xcor xcor - 6 + random-float 15
. x* F1 a# z: rset ycor ycor - 6 + random-float 15
% N+ L0 O! z! S, V8 R1 d]
" @& @- ^& y* @+ nend+ c9 ]( d1 w, b! |2 p- V$ c
to unit_plan   ]( e7 m7 p% v6 C; I' E( j7 K
ask turtles [
$ |6 ]7 _- d9 M8 Q4 Rif (remainder who 5 = 1) [set a who   J4 H# i1 c; z9 m- p1 q: J. ^, W
                          set x ( 0 - Wid / 2 ) 3 ^8 G5 J; m7 X& u4 q# z6 q/ o
                          set y  Dep / 2 ]
2 u, ?9 y5 L2 m) ~$ l8 M$ Y( H. n           set b  int (a / 5) * 5# t, @7 y3 {7 [( ^( a4 e0 L- _
    setxy ( xcor-of turtle b + x )- f% V) K" X- V( `5 X1 W8 R
          ( ycor-of turtle b + y )" g$ y5 t) t$ q; Q9 ?1 s6 q5 u
if (remainder who 5 = 2) [set c who
9 n" h- {- y0 l4 U5 B- h                          set x ( 0 - Wid / 2 )
* _( c: D$ ^/ `' S2 H! y                          set y (0 - Dep / 2 )  ]
" b' P; a2 N! N; e3 F5 {                          set d int (c / 5) * 5
4 s1 a% F1 S: D6 y/ W   setxy   ( xcor-of turtle d + x ), D' n2 B9 S/ |
           (ycor-of turtle d + y ) $ A/ V; F9 H" i7 D
         
! Q7 o2 z; Q+ n4 z" d              \3 e- e# q% M* o: T. m
if (remainder who 5 = 3) [set k who
2 w& j, ^# T" Y' ~7 c. \                          set x( Wid / 2)  $ v8 y, @$ S! n/ t, m
                          set y (0 - Dep / 2 ) ]. v, j+ e. s! r- X9 a
                          set f int (k / 5) * 5; @+ ]% \0 L- B$ J& R; F4 M+ e
  setxy   ( xcor-of turtle f + x )
9 J7 G" `2 i' |6 X           (ycor-of turtle f + y ) . i% ?( S9 I9 |( ^
           
; Z0 X4 j, Q- m: k# R0 B! k           ! S$ g! w5 d& i6 H; C* x
if (remainder who 5 = 4) [set g who9 Q6 Y2 u5 M9 E( ^$ H; m8 \
                          set x Wid / 2
0 Z! a9 ?' l: @1 B8 ?3 o0 X  q7 p                          set y  Dep / 2 ]6 A. [1 G! |" R' J& W/ j: N
                          set h  int (g / 5) * 56 t9 C9 t# s! N' W3 J
  setxy   ( xcor-of turtle h + x )
1 A3 w. ?- a  t6 _7 Z; ~, t           (ycor-of turtle h + y ) * C( x7 n" O7 ]1 w7 f. x: {
                          5 ?8 C. Z# r0 E' u! p' @
                          ! u) o6 S6 y0 d9 y- u  a
                          ]' b1 E1 o' P& a; C" E* x, x5 @; i0 C
end
. B" G/ q3 y# h5 R9 K6 L" k9 R* \; W6 C
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
3 Y+ M8 F8 {- U) ^1 O应该是/ ^2 f* G+ X. L0 N8 `
ask turtles [
5 e  n' A7 ?4 {- C% r7 q/ H$ Z4 lif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) / R% W) \+ K% o- i9 m& a
                          set y  Dep / 2 8 d4 ]0 f) h8 I/ V1 ^  \( o
           set b  int (who / 5) * 5, q8 r) P7 v; M: G
    setxy ( xcor-of turtle b + x )% ?- b3 o5 {9 z$ r
          ( ycor-of turtle b + y )]]0 h4 {. n  x  h: Q( t3 t# R
end
, F# O5 E' [* V$ I' m之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-3 21:01 , Processed in 0.018731 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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