设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7579|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
: [% v8 m7 \! |( O* F! ]7 I) |% z% g
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。) |7 S8 U3 d. _9 \

5 |' ?0 `  `" G; u$ q9 o' g, Iturtles-own [a b c d k f g h
6 e; p% g! }# _" l" n, }  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
' S% X, I6 \) D. |& E$ \]; t9 ^+ O4 Z. V2 h  t/ X
to new
/ b8 X$ _3 \6 h+ G+ \7 v5 A  ca
- C  D, \& B2 N, \9 X! y  crt 5 * num_of_building
  A! S) }/ e! d3 `/ w. ?$ j  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
! s/ Q( s. ^2 h  scatter     ;;keep center-turtle random positions
- z6 o4 N. |/ C  unit_plan   ;;make up the building plan
; [0 d  |  N. Z( f! p' j9 ?end
- P$ d4 U+ u. J, \7 u# z. S1 z4 yto scatter
6 Q$ Y5 Q- b+ ?# fask turtles with [remainder who 5 = 0]" Q# J, W( A! y# ]5 ?1 [' _$ _
[
3 ]6 v' D1 k, O& G# Eset xcor xcor - 6 + random-float 15
  U; q( t( `8 c; b/ N5 F0 fset ycor ycor - 6 + random-float 15" ^+ ~  j% g% w5 G6 i
]1 H' ^6 g( T* X: h: W4 D: B
end
) _. v4 u$ N- h% L5 |6 S" d1 t% `to unit_plan - ~% n6 a" c/ h
ask turtles [
; l8 V' t* D( {if (remainder who 5 = 1) [set a who
+ |2 o; O, w9 }& F- a9 `7 k0 U" c                          set x ( 0 - Wid / 2 )
) g" Q. {+ C* H9 e# Z                          set y  Dep / 2 ]
1 R$ @, ]# n' Q7 k3 b8 V           set b  int (a / 5) * 5
9 e0 f/ \! p, b1 I+ ^* ]    setxy ( xcor-of turtle b + x )6 s4 T5 f. I6 V% d
          ( ycor-of turtle b + y )  b1 p: k9 q: |* Q- d
if (remainder who 5 = 2) [set c who3 k0 o: ?1 E/ C, {% H; l' L; _
                          set x ( 0 - Wid / 2 ) + b& j: r) v: i. p; d
                          set y (0 - Dep / 2 )  ]9 H% }  k/ z" v1 {9 F
                          set d int (c / 5) * 5" K0 w  c( F' S/ Z
   setxy   ( xcor-of turtle d + x )9 u$ x+ A. m, g' j" p# r/ x) b
           (ycor-of turtle d + y ) # u4 M) J* e1 x, b: I
         
* E3 a8 O7 B3 ]% f) K$ D            
3 ~8 Q, \, D4 Fif (remainder who 5 = 3) [set k who
1 D+ H  F) M  D- m' V: I) ~; W                          set x( Wid / 2)  
# f& x& X2 B8 E                          set y (0 - Dep / 2 ) ]
- x1 Y- V5 ^; W) j$ J. l$ m                          set f int (k / 5) * 5
: E/ a* y4 R3 C. e  setxy   ( xcor-of turtle f + x ): [- ^/ t7 B! F  n4 S2 v
           (ycor-of turtle f + y ) * t* J/ i# X: c7 N# R/ b
           
7 ^$ a- t# H/ {; v7 Q! ?- |           9 @! x" {) W- v& P
if (remainder who 5 = 4) [set g who
, i% F2 G& z. x" i. k. B% w& Z: K                          set x Wid / 2 $ A* T( H9 ^8 E
                          set y  Dep / 2 ]
6 k3 n& G2 v0 A$ u* R: _( r- N                          set h  int (g / 5) * 5+ v' K- H- L! n; ^9 n
  setxy   ( xcor-of turtle h + x )
5 S- \4 i3 [5 g" P0 ]           (ycor-of turtle h + y )
, @8 q  t! R6 n6 \* v! F& b  }, J                          + |5 J4 M/ |6 m5 r8 o0 {4 M. b
                          4 }7 d1 T* X0 M$ B: A
                          ]
0 T" ]0 |. D: w# send" |% H$ u5 U1 V% U9 Q/ p( S
  l# O" D2 f, T' h+ g9 y
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 ~8 s, q& b/ j6 L! z/ |+ {
应该是
6 w+ I. S* y% x  L/ \- xask turtles [+ x" F5 }- H1 i& d( [7 D
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
+ f' f, i  M* O* p/ N                          set y  Dep / 2 2 Z5 L' K0 S& A# g6 @9 D
           set b  int (who / 5) * 5
2 e$ J1 ^! r  v0 _& `- n3 |    setxy ( xcor-of turtle b + x )
; B1 s: ^: x5 ^8 L3 }; |/ R9 c# l          ( ycor-of turtle b + y )]]
8 e  l- M  s, x, ~* qend
$ L$ C# B/ W# u4 A& E9 u之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-1 05:59 , Processed in 0.016841 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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