设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8863|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。# L9 v/ u( n3 O  _  P- a9 a
9 j% ~+ u% ^. u4 y3 a' A( ]! s
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。) r. L" X7 {! |3 v

" m+ B. q; }4 q/ wturtles-own [a b c d k f g h0 I3 k* W" D1 m+ x$ a6 H
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
2 m3 N  t, T) ^. e) j3 M]
1 w1 ^! G7 N* u! Hto new# g0 D8 T6 _0 c- H, m
  ca" o$ G% @: t6 w5 T  t' G& [
  crt 5 * num_of_building
; e. ]$ X  }3 C* c. e6 g  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 f: f. B4 s, P  scatter     ;;keep center-turtle random positions
# B# K9 P% D/ B; _  unit_plan   ;;make up the building plan! J# Q: \/ Z( i
end
& {0 E! ?, M& L1 k1 z) bto scatter
. G4 c6 T8 D# }) s- {% f/ xask turtles with [remainder who 5 = 0]3 Z% _. t) M4 x
[
" |+ @# A6 n" w  N& fset xcor xcor - 6 + random-float 155 J" d  q, u. O* w
set ycor ycor - 6 + random-float 157 G- u3 s8 ?4 V# y
]% F) }. o: K" g. e
end
# D. c% \" P7 z$ {3 {$ ^0 nto unit_plan
% \" o; i0 [; J) oask turtles [* ]: |: F+ y5 f1 @6 o* i) Q
if (remainder who 5 = 1) [set a who
3 ~' S4 {( Y+ O                          set x ( 0 - Wid / 2 ) 7 D9 ]: A) ]0 p" p% i  x: B
                          set y  Dep / 2 ]
9 l- A1 c/ T- c7 ^1 m6 q) w9 ^           set b  int (a / 5) * 5! H! Q2 f0 H8 M! L: S- Z; N
    setxy ( xcor-of turtle b + x )0 ]$ Y6 m- K" z# W* o
          ( ycor-of turtle b + y )
; ]( m5 \( I% l8 Iif (remainder who 5 = 2) [set c who
0 O, O5 @3 B. w" k                          set x ( 0 - Wid / 2 )
6 w( \8 g" j! W) r                          set y (0 - Dep / 2 )  ]
9 ?4 H9 j& T) {  G% A# N# j3 a                          set d int (c / 5) * 53 m0 c( X) ]" v; ]
   setxy   ( xcor-of turtle d + x )
3 F, ~3 i. j2 ?  l( y           (ycor-of turtle d + y ) " Z* h+ D: S/ T* \, W
         
3 ~7 o* @7 s7 c2 T            & N1 V7 D  K  `+ f' |, O9 D3 e: K
if (remainder who 5 = 3) [set k who
& \1 S* Q' t+ z3 a, r4 x) G. Z; Y- v                          set x( Wid / 2)  
& g8 ^1 t/ [/ l2 e3 C  W                          set y (0 - Dep / 2 ) ]  ?1 p$ S( m  a$ P, Y
                          set f int (k / 5) * 54 t: K- u/ d# C& e* @% `
  setxy   ( xcor-of turtle f + x )
1 [  O  v% z* R6 A% y& f& M           (ycor-of turtle f + y )
* [" f* s4 {. W& X           
) {0 V" w( H( L           2 M6 [" r! K/ Y# k& l+ ~
if (remainder who 5 = 4) [set g who
/ I! _4 k- M- Y) x& I& r                          set x Wid / 2
8 d$ |' U" `/ A4 m# i: Y                          set y  Dep / 2 ]+ ^5 G  W/ J, o1 J1 g- J2 A
                          set h  int (g / 5) * 5
5 Z/ C  @  [+ A) P' Z% z  setxy   ( xcor-of turtle h + x )/ }6 B+ @$ c& P: i
           (ycor-of turtle h + y )
4 d( K9 k/ O6 t! W& g, r                          * C* @* T! k- S) i2 E
                          
- \, X7 S: T: ?$ O                          ]
1 D0 C2 V7 `; g- S- t4 x; H9 Tend+ X2 H. M" Z5 p0 N/ X
. ]% V' @% Y+ t5 m; z- s
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,# O( m- _0 M7 ?
应该是
$ x, I8 w) ^, K! }: Aask turtles [5 _2 a9 K4 `. B# d
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
' p! G; w+ c1 b: ~1 x                          set y  Dep / 2 5 w1 v0 O) }  o, I4 e8 g
           set b  int (who / 5) * 5  x+ S( H6 i$ I2 J+ o" v) S
    setxy ( xcor-of turtle b + x )
6 X, J/ ^% z: I5 V: D. M          ( ycor-of turtle b + y )]]0 l! z0 ^1 ^" o' A. u+ p
end
6 z8 C/ }5 W( ?+ }( T5 z2 g- n之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-13 08:41 , Processed in 0.015874 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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