设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7280|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
# @$ w1 X0 U0 A; @/ [0 t
% N) ?$ l' \, g& B" }% c& o1 c但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
0 s% E: Q# X3 G. A2 X2 d! v3 q" ?3 ^* K9 N  E# P5 y- S3 n
turtles-own [a b c d k f g h
6 J& C( |* n. W  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
0 e0 R' w, _# q( j& {3 U6 U]8 c9 a/ B* G: q) j
to new/ E+ l# h7 ]! X; o0 O1 z* J% m; U; s
  ca
; d1 K3 I: B% @0 f/ T- t2 k9 q  crt 5 * num_of_building9 Z, [7 h& u  S1 u- |4 ~" D
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]( N: E5 b2 ^/ R+ U* w
  scatter     ;;keep center-turtle random positions : j0 W& d9 U4 ]
  unit_plan   ;;make up the building plan
: e$ R  P* t' X4 \# k, dend7 U' f8 ~  b. [% _
to scatter
% \+ z1 j) H2 J# @0 xask turtles with [remainder who 5 = 0]. t) h9 ~# j. X9 M1 _/ U& t4 @
[6 T' S0 q4 L6 N$ U
set xcor xcor - 6 + random-float 15
: S: r6 A5 g* J$ R$ G& v; Gset ycor ycor - 6 + random-float 15
! o8 u. J5 y2 f], V( |9 u8 J5 \5 {/ n7 V
end1 i1 O1 j2 B  }+ M% k- q, v
to unit_plan
8 u' r( A8 @% z4 t8 T& _" `# `" F( Pask turtles [: }; d8 V4 h7 |" I
if (remainder who 5 = 1) [set a who
" j% j+ A3 R0 B% k, x8 @! J9 H7 x                          set x ( 0 - Wid / 2 )
: |9 F, [! n+ z7 E2 u2 _! l                          set y  Dep / 2 ]
! A5 D, ]) I0 e: p7 Z           set b  int (a / 5) * 5
9 C& L2 ?; v5 y8 z& L) X    setxy ( xcor-of turtle b + x )4 P! [. a" S) N, h6 x2 s- I4 D8 m
          ( ycor-of turtle b + y )
1 w2 |; [( |$ {/ S8 O' f/ Sif (remainder who 5 = 2) [set c who
/ _  J& H% c/ O4 J' Y. w- ]* D, H                          set x ( 0 - Wid / 2 )
5 O4 v7 w5 k; q2 W# I! g1 S1 ~                          set y (0 - Dep / 2 )  ]
- v5 l; p  S5 j) L% r                          set d int (c / 5) * 5
9 M$ T) |! l) Y   setxy   ( xcor-of turtle d + x )3 z4 X" H( y$ a9 @
           (ycor-of turtle d + y )   C$ J; m0 y4 F- W  R
          6 m2 j- s; j! D; K
            
6 @% Z% y5 I. [. a9 y5 eif (remainder who 5 = 3) [set k who# p8 b( b' D# \- \
                          set x( Wid / 2)  
* s1 {: X- _" X8 l                          set y (0 - Dep / 2 ) ]8 \$ T- Q) f- _% o! @# k5 u( f
                          set f int (k / 5) * 5# `0 M3 i3 |: A3 j8 R) ~6 v( y/ j
  setxy   ( xcor-of turtle f + x )& }# G" a* A! C# e- `8 A
           (ycor-of turtle f + y )
, l# K6 L+ E! n+ H5 X' v6 \: T5 T           
9 |' O# Q" u$ X           
5 V( y1 i) ?9 `3 l( ~+ W/ t7 {% Lif (remainder who 5 = 4) [set g who
7 d( W; X# N; ~/ X! B$ l8 ^                          set x Wid / 2 - l, I' |, i/ z1 F+ ~. c( t
                          set y  Dep / 2 ]
  L* s" o; p: ^8 N9 C                          set h  int (g / 5) * 5! {/ t) v' _) y
  setxy   ( xcor-of turtle h + x )
# i2 N- h0 r* i- W2 a5 R           (ycor-of turtle h + y )
" M7 K0 ^( a; G2 b# H                          8 b! D' d! h& f& C. P. _; q3 W. f
                          - E6 z8 Z0 u" t6 ^
                          ]
# r$ H& E( y% u3 Lend5 |2 p  {6 \  {4 g; \8 Y

% k7 R0 V  C; F& P. Y6 c+ V[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
3 H( a6 b" ?# M" D1 w应该是
! T' Q! E/ a  z) ]4 \ask turtles [
5 _1 Z: I" _  c# x- m# Y+ H: b$ _5 Nif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
8 X3 h2 e  {0 z; R. X" X0 \0 S                          set y  Dep / 2
' Y. F: A+ B! U! ~$ `- G5 \           set b  int (who / 5) * 5) }: t% M! C5 w% j  h
    setxy ( xcor-of turtle b + x )
# R5 x+ {: }, x, w          ( ycor-of turtle b + y )]]
, p! M) i# O, w: C$ fend
: N6 B( y! V4 d1 v: F之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-24 22:13 , Processed in 0.020088 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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