设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6865|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。. \- s2 U7 Q1 F0 c3 L0 O
) U/ `. ^& w, W0 z+ p# z# e& h
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
' S9 ^8 ?$ B( y! I' u' N  \; \* ~( H+ Z; ~% \7 ?  L
turtles-own [a b c d k f g h/ z) B9 N! C! b0 h/ {
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle " X0 ]8 O3 ?  Y) W7 g1 r4 K) ]
]5 G7 v, p+ K6 a" t% x9 T' ?
to new
4 K6 H$ a8 a% X$ d$ U  ca
. U* t: z" i) @4 [9 t$ m+ Q/ e  crt 5 * num_of_building$ p6 P$ i( w, d
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
% e0 l! ?% k" G# w  i9 U3 a; R  scatter     ;;keep center-turtle random positions 7 E5 J4 }6 E& m. T
  unit_plan   ;;make up the building plan  a/ z  b: R: k( Q' U. a- u( a
end9 W. s/ }/ r$ y$ ?; u
to scatter; G7 c. O6 L* b8 n
ask turtles with [remainder who 5 = 0]6 j, s7 d4 _, C: x9 X) W$ X6 L( ?
[
- B: d( k: t. n/ o5 k( m* Nset xcor xcor - 6 + random-float 15% k* g" `2 I0 u; z, R
set ycor ycor - 6 + random-float 15
; R" `  @0 A( x]
8 I7 X5 V& g: l  u3 b+ uend6 M  u/ x" E5 ~/ f0 F5 u1 V
to unit_plan
% j4 ]3 U- M6 n. }: ^ask turtles [
) k, d6 m9 M  G# M% p8 Dif (remainder who 5 = 1) [set a who 0 M1 u* l1 m2 s) g
                          set x ( 0 - Wid / 2 )
: T3 `! A7 d6 N3 _/ W                          set y  Dep / 2 ]8 F# [1 J1 s+ A3 m" V- q6 X
           set b  int (a / 5) * 5! ]$ ~3 ]! V$ ?
    setxy ( xcor-of turtle b + x )& P8 }( d& F; K: _/ [
          ( ycor-of turtle b + y )9 V+ u( a* @+ l* E
if (remainder who 5 = 2) [set c who- k7 n3 y8 A* y
                          set x ( 0 - Wid / 2 ) , v, I" S& P: ^3 ?- Q$ Z* d! a
                          set y (0 - Dep / 2 )  ]8 p" _8 ]: B& Y. O& ~
                          set d int (c / 5) * 5/ g6 r3 Q2 h, W& L7 u
   setxy   ( xcor-of turtle d + x )1 ~3 C3 j) @; y: @& z( D
           (ycor-of turtle d + y ) 0 ?* L* P  p. `% v
          % n" V& ^2 n. X7 \. `% R8 j% s* n2 a/ T
            
) R( j, \1 Y) l  Uif (remainder who 5 = 3) [set k who7 ~3 I* Y2 D4 x6 n
                          set x( Wid / 2)  ' r( ~/ [# S! @# \0 j9 s9 H
                          set y (0 - Dep / 2 ) ]+ l6 x) R" G% q3 R- h8 h
                          set f int (k / 5) * 5
% w7 I' {/ l; N3 L  setxy   ( xcor-of turtle f + x ); q8 l& Q7 {' H1 N! ^$ a+ t4 e4 y* x- ]
           (ycor-of turtle f + y ) " ~5 H" A- Z" H% E" u9 m. t/ h
           
- J+ M) s& u* w* G8 l/ @' P           8 H6 F! ~+ u! P- {8 n, J
if (remainder who 5 = 4) [set g who
) f" t4 B1 [! ?, u) y! a+ q; O5 u                          set x Wid / 2
+ G4 ~3 d8 j! i5 A' u                          set y  Dep / 2 ]
# B& A8 J) t; _( z% J0 e& T                          set h  int (g / 5) * 5
1 x# a9 P5 R2 }  setxy   ( xcor-of turtle h + x )
1 o# G( _# v" B( A           (ycor-of turtle h + y )
3 Y+ @3 s. F6 f+ t" Q; S. B2 Y3 y                          
3 t3 `9 i9 y6 G) W) L6 i. g! c4 w                          
5 W( f3 x6 p$ M. ~6 J! O, p                          ]
- ~8 {$ F: |$ ], d5 ?; eend
1 |. F. `5 |# C, \, @1 f0 t0 a- E! _$ J4 C! Q- w8 t' T
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,/ j6 g; K6 k* P0 S1 u  m
应该是
) B1 ]$ Y( w) {6 {  O3 T1 d" }ask turtles [
. I* t, ]7 B) u2 N0 k% t2 bif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ( D9 \# m) g' @3 h0 v
                          set y  Dep / 2
7 Z; q4 Y7 J" Z( L. U           set b  int (who / 5) * 53 Z! N( Z4 V2 o( C
    setxy ( xcor-of turtle b + x )
' `) S4 J- l3 l7 @          ( ycor-of turtle b + y )]]
3 r# _, N5 h! y% }0 W$ Kend
3 A+ ]" S: w6 H7 n! x- |之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-1 15:21 , Processed in 0.021367 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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