设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6830|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
/ ]! ]7 R+ X3 d# H5 K( E& ^& {( i5 x) ?' A7 ?+ v
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
# M6 ~, y& }& h; _$ V6 E! O: T0 |! z, u) L/ R7 W
turtles-own [a b c d k f g h* a$ I$ n0 Q) k! i2 F, Z4 p3 R
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
7 r+ h! c- u' o2 }) _( r]
, B, ]; W6 T5 f6 G, Lto new
7 V2 b8 d$ \0 B: Q5 A: F9 [  ca0 u; ^8 {: L% {* q7 c, k
  crt 5 * num_of_building
; V5 ^8 }- L# ?" {& J' U" q  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
3 f. k. v6 K; a' k  scatter     ;;keep center-turtle random positions : h7 f: ~& x/ U+ B0 Y/ _
  unit_plan   ;;make up the building plan
* [5 o! ?' w. |5 F  n  Yend7 Z; x1 B3 l- j, X. ?/ ~6 i9 K
to scatter; L6 C1 Z0 n$ o) z+ L$ K
ask turtles with [remainder who 5 = 0]% t% A, k8 x8 M" U. l2 S( ^
[) v: d+ a% B; `3 S
set xcor xcor - 6 + random-float 15
3 f. X# a  X( cset ycor ycor - 6 + random-float 15
8 B* z& e) P- F- @1 r' `5 S+ |]
. O  f" A( K, U) g- Oend" A! X. |& p# y- h3 y3 A
to unit_plan
% X! m0 `5 E& S* ~' T9 |ask turtles [
, f" G2 T5 j; v6 D- cif (remainder who 5 = 1) [set a who
, X8 h% ]6 }* w! j5 X  f" y                          set x ( 0 - Wid / 2 ) , ]& a6 G7 }7 X$ h' l
                          set y  Dep / 2 ]
8 T( Q& g  x6 d% V           set b  int (a / 5) * 5
; A) U1 V& G* U- r3 k9 q    setxy ( xcor-of turtle b + x )
) X. o0 j3 c5 ]$ z( P          ( ycor-of turtle b + y )
: q$ ^* l/ N$ f! Zif (remainder who 5 = 2) [set c who# \" b4 C- _) ~; f9 C- x( x
                          set x ( 0 - Wid / 2 )
" x( e. u* t4 d/ K' d, T& q                          set y (0 - Dep / 2 )  ]
1 ~4 k. N; I+ v                          set d int (c / 5) * 5  x% h1 E( p0 n3 ]. b' w) o
   setxy   ( xcor-of turtle d + x )
1 s4 \, U# ~( m+ z           (ycor-of turtle d + y )
' x6 |! g: _$ i          2 N' _' `- T; T& g
            0 Z* k/ R# U1 ~9 _7 s
if (remainder who 5 = 3) [set k who) m5 m0 N$ D$ D6 d5 e- ~2 \
                          set x( Wid / 2)  ; \6 C0 B9 c+ C+ a
                          set y (0 - Dep / 2 ) ]. T# F. c8 X2 w
                          set f int (k / 5) * 5
) o( l1 X+ k, G, Q1 n  setxy   ( xcor-of turtle f + x ), I9 m9 z% y( g7 c, |  [  k
           (ycor-of turtle f + y )
' ?- k" c1 e. I  {- ?" X           2 b$ Z9 P' ]% z/ X# d
           / U" R( R9 ^& T: X/ D4 Z6 R
if (remainder who 5 = 4) [set g who
6 R- w. ?1 C( n" L, M( L, o  j6 v* L" a                          set x Wid / 2 % S# Q6 M2 q3 |4 c
                          set y  Dep / 2 ]" m! I. T1 [& m' `2 K; ?) g2 U$ n
                          set h  int (g / 5) * 53 ]* E. D4 `( K, M0 I& u
  setxy   ( xcor-of turtle h + x )
2 u5 p7 B$ L+ c, s& h1 O1 O5 l" O           (ycor-of turtle h + y )
7 u: P: b" M6 @                          
( P6 L2 X3 Y& y# }/ q. r                          
& d9 m! V' Y( ]                          ]
+ B3 E7 @" _0 ~; _5 B8 p( {. Zend7 u9 J9 \6 V; i6 J% ]' ~3 x
! v; d! K  u4 {* D7 N
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' S$ B- o8 B  _; ]1 A+ ~6 y应该是
/ T7 A6 l# Y2 xask turtles [
6 B9 f  R5 ]* u9 E, Nif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) + D0 Q. d$ k3 d
                          set y  Dep / 2 4 k  `# R2 W9 b
           set b  int (who / 5) * 5; N" P8 a8 K0 I5 ?; T
    setxy ( xcor-of turtle b + x )! v' s8 g1 G3 n; U
          ( ycor-of turtle b + y )]]
9 S  F. ?! U7 l. s# n& G8 _end
6 c5 p2 d6 e3 P$ V之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-27 01:17 , Processed in 0.022804 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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