设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8904|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
5 S5 S2 L; z! v2 ?% E
2 ?9 R8 `' a& m但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
& S* d* u  ^7 K7 K$ d' u) }& |$ l  {, j5 n
turtles-own [a b c d k f g h! w# S0 ]( u, [6 `( \
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle . ~6 S7 @7 e7 n; B& V
]
+ ]+ J/ q' B1 U( qto new
+ a: s" v2 E* s/ M, D5 |3 L9 @( q! o  ca1 w8 G+ {7 g6 W
  crt 5 * num_of_building" ^! s$ u& Q% y1 M$ A: ~( n9 V" Q1 }
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
! G( G( _0 y3 o! L  scatter     ;;keep center-turtle random positions % F  J0 b% D9 o' T8 g& _" p3 \. ?$ ]1 b
  unit_plan   ;;make up the building plan/ [5 k6 {# T6 s. N: s6 h8 w9 ^& c
end) M" T* a' s" O
to scatter9 I% M/ h- d8 S* v
ask turtles with [remainder who 5 = 0]- w6 [9 ^+ o; M) m& N
[
- D. X7 M9 c) b& s* p- wset xcor xcor - 6 + random-float 15
+ d: \- j6 H" K2 I5 H* t" x6 u4 Iset ycor ycor - 6 + random-float 15
+ Y, n4 W$ O" `7 v8 ]! k9 `+ W]
1 E& ~4 p# L# f9 v1 qend
2 _. E) c  X' k  @/ `- Zto unit_plan + ?1 C9 @, \; H3 g! V
ask turtles [; n  R4 e; ?" B9 {  |4 h
if (remainder who 5 = 1) [set a who
4 h& {$ f- e/ N; v+ A                          set x ( 0 - Wid / 2 )
  [: p) m7 l% N" L$ }& d+ a2 i                          set y  Dep / 2 ]* M) s/ ?  H  V
           set b  int (a / 5) * 5
  _# d! p0 ~) L7 V' W: w: d* r# ?    setxy ( xcor-of turtle b + x )
# H& ~6 E. t& |6 x6 W          ( ycor-of turtle b + y ). @/ ], }6 w$ o$ O( B0 e% S
if (remainder who 5 = 2) [set c who
1 y3 s) }* t1 y6 y' C                          set x ( 0 - Wid / 2 )
  y& E/ v& b0 b" h( n) w. e                          set y (0 - Dep / 2 )  ]
9 Z. a# g4 r6 S  u- i# u  I                          set d int (c / 5) * 5
+ w& }* Z9 Y. u# l. _   setxy   ( xcor-of turtle d + x )6 r) v+ t/ j9 m: P1 y
           (ycor-of turtle d + y )
/ R: q- y0 o4 l! ~' `9 b8 q, O& p          ) r$ a7 v0 ?5 a$ u; I
            4 l/ ~% Z8 ?7 }9 ~; I8 j3 b+ z. x' S7 S
if (remainder who 5 = 3) [set k who
. y: e4 k; q2 k$ B                          set x( Wid / 2)  
2 E8 q# j$ g3 k# s8 G                          set y (0 - Dep / 2 ) ]
% m) ]3 H" r/ D! W' M3 H# H$ T, E                          set f int (k / 5) * 5
' Y: L. k+ Z; K! W) |  setxy   ( xcor-of turtle f + x )7 g( U3 ]3 O  f& n6 E. i5 ?" e! M
           (ycor-of turtle f + y ) # I6 w. N1 i- X1 w, K$ H2 R
           % `" y+ }, ~" o# N
           
/ {+ [, l+ X: {+ K/ E* L* e5 Gif (remainder who 5 = 4) [set g who
3 C4 ]$ D1 U9 m6 y                          set x Wid / 2 ; W' x% \% n( H, {: H4 i& W) p
                          set y  Dep / 2 ]+ A8 E8 i1 I0 f) o: f8 {; d. F
                          set h  int (g / 5) * 5, U! H& O" Q  ^
  setxy   ( xcor-of turtle h + x )
/ S( e" @% {5 o( S           (ycor-of turtle h + y )   J5 ^: r$ m0 P$ t
                          
) K5 c# N5 J* [! ?# m                          
* L9 P- l" N/ n  L                          ]: b' ?" |) V5 m& ]/ S) f
end
4 U( W4 x, E1 q
$ ~2 S* h2 a+ [# j# h0 {- e2 c4 d[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
2 W9 [1 F4 e) F* J7 z. C, q6 |应该是
) i& H4 v- i  z' g9 Vask turtles [- X/ V) ^! `! r7 q
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
5 r1 ]; u  m2 P. u- m5 w3 D                          set y  Dep / 2 8 u, N3 R1 j( r0 j3 F' }
           set b  int (who / 5) * 5$ v; U/ z: z: e1 C0 ^5 l9 y
    setxy ( xcor-of turtle b + x )
3 K2 A2 B, l# {/ c- J- N          ( ycor-of turtle b + y )]]
' {8 t% F( z/ `end
" R" L/ N' u  B# P6 F8 G( X# z之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-20 21:33 , Processed in 0.017344 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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