设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7656|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
& x* ^( [/ A% @' f
( S# b/ E/ ], M' V" {8 g( H但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% |1 ^* C' F, w- ?. G% Q0 k
2 ^, K. \1 n2 nturtles-own [a b c d k f g h9 L( d% f" `- _% t2 Z, J" P) i; h; v
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle - g# R% U5 U; A+ s
]" a0 q* Y  D  T! `% R
to new) W4 p6 ~8 u) Q' x/ G, X, T. H: l; O
  ca8 s5 ?6 l- H& t3 y1 A! o# c* ]: U% q
  crt 5 * num_of_building8 c* b, o9 C3 z2 B) a
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
: H' P6 @; X, R* j5 _/ g  scatter     ;;keep center-turtle random positions
* v% b% M/ \) }' d& h  a( ]  unit_plan   ;;make up the building plan/ \4 q! n3 D" M
end
6 ?/ E' }/ s* h- yto scatter
* _; A7 z( H/ i$ H4 Qask turtles with [remainder who 5 = 0]( L; r0 I7 Y( a' C3 G
[* {: l( A1 k7 D
set xcor xcor - 6 + random-float 15& U% k1 ~7 h! l3 V8 H
set ycor ycor - 6 + random-float 151 r* E* _  H' A; d4 |, A
]
9 x7 u' {! \+ K' [6 I, fend
2 U0 |- B0 h4 [! Rto unit_plan 3 H' z6 p" Y4 T
ask turtles [2 z0 a  W% k2 v. Y2 n# ]7 w
if (remainder who 5 = 1) [set a who 5 ^! v7 E" S4 W  U# l
                          set x ( 0 - Wid / 2 ) / o. R1 ^2 I: @8 h4 Z
                          set y  Dep / 2 ]' R, {5 \& q+ R  Q9 z& w: i" y
           set b  int (a / 5) * 5
% b8 P+ b+ T% h" V" S& O. t  x    setxy ( xcor-of turtle b + x )7 V- M) X$ U0 |! a' u  J8 a3 O9 H- u
          ( ycor-of turtle b + y ), K; b4 X( z  p9 `. R0 v2 v# \
if (remainder who 5 = 2) [set c who
/ @& w+ Z" p" V                          set x ( 0 - Wid / 2 )
; w% z5 z/ D, F7 f0 U. C$ g' @' ?                          set y (0 - Dep / 2 )  ]
( f) Y. s) _( e: T                          set d int (c / 5) * 5
7 M% l1 Q6 a1 l- {6 ~( l; U3 X+ \   setxy   ( xcor-of turtle d + x )
5 n3 ^; t- Q- }: h           (ycor-of turtle d + y ) 3 Q5 i( T' D$ Q( u
          ) ^* W: B. w( O2 [2 i  ^
            
/ m& ~- ?/ I& }if (remainder who 5 = 3) [set k who
! b3 @* g4 I* e7 i                          set x( Wid / 2)  " C: ]7 X; M! R2 D$ s) i" I+ S* [
                          set y (0 - Dep / 2 ) ]( l" Q+ ]6 b2 k/ J1 l
                          set f int (k / 5) * 52 @0 R) B" B8 t- G( y; c
  setxy   ( xcor-of turtle f + x )
: }& D0 w% K2 M! C. [4 w           (ycor-of turtle f + y )
- u0 A% d7 W9 P6 X2 K; |           # }0 F" n; ^. d# l* l5 M: @
           
- `- r5 {+ I7 W% v- j# z* p# B) V* Fif (remainder who 5 = 4) [set g who% C4 I* ?' q* J. X4 `6 l
                          set x Wid / 2
/ T. M/ S' P: }3 V7 e* T9 P% @                          set y  Dep / 2 ]  O! B- q. ~6 p1 I. [. E+ s, d2 y0 z
                          set h  int (g / 5) * 5
) O; s  H1 n" F, x: K5 p% a  setxy   ( xcor-of turtle h + x ), D3 I& {( D/ S; v" Z9 i! L7 M
           (ycor-of turtle h + y ) 5 z0 j" U9 J0 j/ O( k$ O1 Z8 {) R
                          
, h$ ~9 C8 E8 {. @/ T, J5 Q                          + t, Q, Q+ C1 r" a/ |  M% ~( a1 a; c9 ^
                          ]
+ t2 `7 Q# ]! e6 D: y! e0 ?9 Iend
4 H6 A% v/ M* X2 d- w1 |8 r( p  p0 s& q2 U8 N$ c
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,5 o( }" x2 l4 D' k
应该是& z& d9 J- d2 A: N! i% S" g
ask turtles [" Z  d( N9 }: u/ h  f4 |
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
: L/ {* ?& i5 E& T* E8 X8 P& G                          set y  Dep / 2
! ^2 ]& A* l# W* L* ?) i           set b  int (who / 5) * 5: M) M* s' E2 _8 s. p0 J3 H0 j
    setxy ( xcor-of turtle b + x )
7 Q* M6 ~: r) w- d+ Z$ [" Y          ( ycor-of turtle b + y )]]
/ |' n; h8 e, S# }$ U! F/ nend' c0 n! d' Z7 e# z$ Z' C
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-12 05:31 , Processed in 0.015962 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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