设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6939|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
, f0 X& _# w9 l! J0 S  J4 {! M! N% s' ?, e
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
" N8 ~( d9 }2 W5 i* L6 q1 f/ ]& ]& Y+ |. ]* U
turtles-own [a b c d k f g h  K4 x# C! {2 K9 q$ u! e  x3 `
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle : s; i! v1 d) ~: c+ {
]
5 O- F% U3 o( yto new  `! w; A4 W4 N" a
  ca! G* g/ B6 X* W2 L6 I
  crt 5 * num_of_building0 f$ u1 b- s1 i$ B
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
4 v$ `. E! t" S  scatter     ;;keep center-turtle random positions
( l4 D8 e: T  C7 S$ D! N  unit_plan   ;;make up the building plan
4 j1 f, i( j/ a: h' p& M* vend
6 T) {' h% q# E, O  ~/ sto scatter
1 y, x/ m6 O1 w( ]) rask turtles with [remainder who 5 = 0]
7 J$ ]- d! c: G[2 b3 p5 I5 h; G" t2 |5 {$ Z  ?
set xcor xcor - 6 + random-float 15& g$ N$ G4 T" o6 K
set ycor ycor - 6 + random-float 15
/ i0 r9 k" j5 r+ g' p]+ |& b* x2 _1 g4 m; [! v/ ?
end
! a& X( {# V" @, w8 N. mto unit_plan
, ]- P+ x- N& }( P3 vask turtles [
9 ^, Y0 L. _) C$ {) Uif (remainder who 5 = 1) [set a who 7 U2 `9 w6 k7 d0 w! J- P
                          set x ( 0 - Wid / 2 ) ( q. H$ l( Z6 [0 y% o
                          set y  Dep / 2 ]
& w2 h  v- u7 N0 V           set b  int (a / 5) * 5
! a4 P9 r- ~! u  A5 d    setxy ( xcor-of turtle b + x )2 l4 A6 {5 b) \6 `/ B$ l. Y: D  l  J# J
          ( ycor-of turtle b + y )) L" i2 c7 o# U4 f
if (remainder who 5 = 2) [set c who
! U1 U# {0 Q" I) r% C                          set x ( 0 - Wid / 2 )
( x. `. ?" b8 U+ T                          set y (0 - Dep / 2 )  ]' E: @* e( u+ K. O  f! y  _
                          set d int (c / 5) * 5! }( p8 h& T3 l  N% s/ J
   setxy   ( xcor-of turtle d + x )
0 _2 f1 c) z* q. G" W* T3 g           (ycor-of turtle d + y ) 4 S% T% W; T- s) q0 v# X
         
7 F2 U/ o0 Z. Q% n$ n0 v            
2 R( R  u. N7 M" j& A$ Hif (remainder who 5 = 3) [set k who: v# A2 d  o# B/ s" U) r
                          set x( Wid / 2)  
# K5 ?( i$ |+ d0 [) L                          set y (0 - Dep / 2 ) ]/ y9 |+ p# ]$ |& P
                          set f int (k / 5) * 51 Z5 }' d- w1 Q! I7 z6 v/ T
  setxy   ( xcor-of turtle f + x )
, f; Z7 c! u6 c1 J           (ycor-of turtle f + y )   W  L' N8 o0 X. m+ K& h
           
, H, r3 r3 V) y           6 K, ?: Z4 O# ]: Y0 p& B" j6 N5 S
if (remainder who 5 = 4) [set g who: W/ _, v  G0 N
                          set x Wid / 2 $ O* Z& k% b3 V2 u; w
                          set y  Dep / 2 ]
) ~) z% G$ x0 o7 O2 Z) z/ i                          set h  int (g / 5) * 5
$ E) j: X: A5 E. A: H1 }  setxy   ( xcor-of turtle h + x )$ C3 u% R8 O, w
           (ycor-of turtle h + y )
) \) w' A: U% e) l* Q                          
/ ?, c  E1 h4 q; w8 k                          
3 y% i7 c5 c5 j* X& G! L( n                          ]
+ w) l5 z0 ]7 b" u- z4 N# [( f' gend  `6 ?) F& _* X. W  x: Z6 Z# Z7 d

2 J% @, Z5 V9 g/ _: T[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- h' Q. G5 J8 ?3 I# t7 `
应该是
$ u  N; j" _+ ?ask turtles [
. a, \) L/ J+ o0 m% hif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
6 A( h1 j8 V6 u' t/ E                          set y  Dep / 2 , E6 |6 V. q: j( [7 }& r1 E1 ]5 l
           set b  int (who / 5) * 5: y3 C' L  E2 g/ V" f- `, F" ]
    setxy ( xcor-of turtle b + x )6 ?0 \% P" z0 S
          ( ycor-of turtle b + y )]]
* g! E! j' E/ b, rend5 B3 z4 m* C) N  P
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-12 04:17 , Processed in 0.020794 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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