设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9015|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
5 w! O( A; H" \0 P! U7 M; o
4 U% I( R0 X. V但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。5 u$ B( S  x9 W  e, Q# a# @& ]! a

( M5 R6 x7 j0 C' C1 Z) kturtles-own [a b c d k f g h" m9 P* |1 f/ V- D
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
5 x5 g* p0 T0 u' t]
- A7 V$ q% ?) W3 ^. jto new
7 v8 f! n4 [0 s1 v1 T% [  ca
: ]6 G$ I; ^/ R1 U" z  crt 5 * num_of_building) y; ^; V+ Y/ l7 d
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]9 Y, I: z: m! H+ \
  scatter     ;;keep center-turtle random positions
% g. r1 _1 e& w# b$ t; _  unit_plan   ;;make up the building plan
/ j' X8 l; O* E1 Cend
' w7 z& J& X) [$ g$ Eto scatter! g$ O- K" l8 ~& N# ]6 j5 T6 c
ask turtles with [remainder who 5 = 0]
0 w) z- z: a9 a, m7 o4 }[) o: q; q- E* W9 B
set xcor xcor - 6 + random-float 15
6 [7 N7 I5 D% i. ]2 j% G( \set ycor ycor - 6 + random-float 15
0 I. ?+ D/ m" y6 U( X% Y, ?: j- C" d]
$ q( O4 {' b+ p# g& bend
: }) x& k6 k# z7 r1 Dto unit_plan 6 }3 z4 L& K. f; c$ o; E# k6 Y, L
ask turtles [
, z! E' L2 p8 ?+ ^if (remainder who 5 = 1) [set a who 3 E# q$ G6 r- a6 q& E
                          set x ( 0 - Wid / 2 ) 5 a% C( o8 P! I$ C, q2 b- W" L
                          set y  Dep / 2 ]
- |, l' N% Y: W& f8 L           set b  int (a / 5) * 5
: H( x* O( ]! X    setxy ( xcor-of turtle b + x )
! F( B  q* l4 F          ( ycor-of turtle b + y )
3 {2 n/ Y% C  V0 p, B) Gif (remainder who 5 = 2) [set c who
  y4 }! X3 }" x$ y. Y8 U                          set x ( 0 - Wid / 2 )
( D7 p' l! D& V                          set y (0 - Dep / 2 )  ]( _9 x- j- K9 G4 D0 {' r
                          set d int (c / 5) * 52 {9 g5 {- H# J. o% h# L* ?
   setxy   ( xcor-of turtle d + x )
0 A" e. U' f5 T7 m           (ycor-of turtle d + y ) 2 u) i+ M% e1 r9 q3 ]
          2 [, C# b- z6 D; x. G2 n' U
            
3 @# g# q# G$ G, N0 ^+ Sif (remainder who 5 = 3) [set k who
% d. h. A& }: P( B7 y/ Q& V                          set x( Wid / 2)  
' U) `4 H$ M' Q/ {                          set y (0 - Dep / 2 ) ]
9 `6 b: u9 }6 Y5 @                          set f int (k / 5) * 5' g. a3 }# B, n& `. y
  setxy   ( xcor-of turtle f + x )
5 }5 `5 X4 s. c  i7 S           (ycor-of turtle f + y ) % O5 T/ o5 ^/ A+ d- B3 [$ ?
           1 f6 _6 U* Q( f( D' C! s0 [7 g4 S
           
5 g: H2 B+ `2 t3 u4 R9 P0 @+ P: @if (remainder who 5 = 4) [set g who
/ M: v3 Q( w9 h/ D* x                          set x Wid / 2 / b: E. i/ B% N5 N4 ]' H
                          set y  Dep / 2 ]
9 J0 H. Q: M" @5 K7 \/ E                          set h  int (g / 5) * 5
9 n) N0 a" n% M; N$ O" ]  X: i  setxy   ( xcor-of turtle h + x )
# ^4 D' w7 o! G. I           (ycor-of turtle h + y )
# [7 K5 S" |0 b5 v0 \5 H* m7 I. o                          
- O6 y/ D: o6 S  n) x8 j. E& b                          
* R* _2 I; r0 j                          ]
: s/ K4 y* e% r4 ]& I8 vend
% g( Q- N& N; ~, A2 I! C
! z, P( o, \, j5 `5 O( H[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,& j1 r; u& D$ d8 d- n& V& f, L+ ]
应该是+ }: h2 T; \) X. ]; b
ask turtles [, k5 J' {+ f1 X, ~+ R3 k
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 7 a, }3 n, t2 h4 y" e; g
                          set y  Dep / 2
2 i9 T* a' f  D2 P. u! K; W7 L           set b  int (who / 5) * 5# o+ _6 z2 F3 T' `
    setxy ( xcor-of turtle b + x ); l1 N+ U3 b2 _( q$ B
          ( ycor-of turtle b + y )]]6 m( X) ~( P7 G+ R7 E, J: E* _8 D4 g
end; X$ f' a1 x& @# j$ K
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-7 03:55 , Processed in 0.017816 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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