设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7622|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。/ G" V) y; v" T" `9 V
* O! q- O* b1 M2 `
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
: ?$ R, T/ K. t
6 z1 }" M/ C* m- ~/ t: {turtles-own [a b c d k f g h( K& J8 \6 h6 b& M+ s5 w8 x! {+ M+ Z/ `
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
+ i+ M7 N5 t: B4 f]# S9 r' w" ?  j6 z7 j
to new# H/ z+ t4 T' `! ^- Z, H
  ca
4 _; Z8 v# G: K4 S5 g' f& N  crt 5 * num_of_building
8 i5 ~' f& _# c% {6 H( V  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
% D" e8 g: ?+ @  scatter     ;;keep center-turtle random positions
$ n. X6 r* d0 ]7 g, [: N- f  unit_plan   ;;make up the building plan
9 e6 d4 d3 d( d1 [1 K. tend( G3 N0 \$ d% n! F& [! A. P
to scatter
" g8 ]; [- N" r, X# wask turtles with [remainder who 5 = 0]( X- b! B4 j: t- E, j: G7 g6 b
[' a5 y7 k" O3 [2 f7 k
set xcor xcor - 6 + random-float 154 Y) }+ v: n7 K
set ycor ycor - 6 + random-float 15
. e! h8 z, P) U1 f]
3 }+ L5 ]8 z, R0 Y% {; p4 r5 Q- jend
# V/ N. s0 Q* I( C6 Uto unit_plan
+ h. I' l' h# S) A; B: c* T: l6 U* Mask turtles [
" B! g' T2 E/ Y, u$ T9 cif (remainder who 5 = 1) [set a who 2 g. K( q$ o$ y" ]% H5 F8 V2 L
                          set x ( 0 - Wid / 2 )
* O& Y; K) v0 T, c5 S0 @/ p                          set y  Dep / 2 ]
0 U0 J& B- p* k( s4 {- g" ^           set b  int (a / 5) * 5( V3 ]$ Y; D" E, M& Q( h8 I3 n0 a
    setxy ( xcor-of turtle b + x )
8 |  J! `( l( R- v7 s* ]) Y          ( ycor-of turtle b + y )1 b2 t& D" w8 w$ e) m! X1 v
if (remainder who 5 = 2) [set c who4 n5 v1 r/ S: b8 Q- c8 B
                          set x ( 0 - Wid / 2 )
" r  p# S: k1 x9 P6 k                          set y (0 - Dep / 2 )  ]
, n: b1 ~( q9 z, o5 y# k6 M# J                          set d int (c / 5) * 52 ], `9 B1 |$ T: l
   setxy   ( xcor-of turtle d + x )
6 ~; U; y7 _$ I, A/ `2 _           (ycor-of turtle d + y )
" \3 G( H+ n$ T          ! y. z- [2 y9 a; @. J
            
1 _: L- ?4 U, t2 q" l) d* H; m( tif (remainder who 5 = 3) [set k who
  g* }/ |; }2 S1 }5 v9 t0 s' Y; s                          set x( Wid / 2)  
( F0 W; H5 m. U' n' }7 ~                          set y (0 - Dep / 2 ) ]$ W. s9 Y/ _0 C
                          set f int (k / 5) * 5
+ l* \. {: ~" J+ u" C  setxy   ( xcor-of turtle f + x )( z4 w+ A6 p4 W4 @& A
           (ycor-of turtle f + y )
7 ?% K1 V  ~" u+ A, q           8 [# {% s! a- P( Z% O& w7 _
           
* e0 M: V4 B* @' ]' m) D" sif (remainder who 5 = 4) [set g who
9 ^: v; ]1 `7 E+ U' F  ]/ F                          set x Wid / 2
* r  M% Y- e. t$ @                          set y  Dep / 2 ]8 ]" F2 D" N& R2 J  `1 m
                          set h  int (g / 5) * 5
% M! q! c' D" a8 p& d! i# U, b( u  setxy   ( xcor-of turtle h + x )
5 {5 Q0 B; \5 l           (ycor-of turtle h + y )
0 ^3 H; H# X  s9 h' U                          9 \  r/ O' q1 w9 Q! ^9 W7 B
                          
* z! V& ]! _4 X! ?) f                          ]
7 S/ z5 n* J3 q! Rend9 P; M2 p1 q$ m1 h0 E, ^& \$ i4 e
  D' }- j$ g" I; P, o/ g
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,: h% {" M6 ?) ~) j9 t" z, Q
应该是
. R8 @7 I/ U: p5 h+ e9 j: task turtles [6 t4 M0 T/ {* I6 v$ i. j* h" R
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) : `' e2 _/ I* B7 f( S; V
                          set y  Dep / 2 7 M1 ~( ~# g% Z; z
           set b  int (who / 5) * 5" f* Z+ k3 }, N# c2 U4 i
    setxy ( xcor-of turtle b + x )
- f0 F+ f& e  K3 P5 e          ( ycor-of turtle b + y )]]
$ C( z, L) [3 r$ W3 o& m0 {( vend( @, i7 L8 L1 O6 R0 a9 Z5 s$ q
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-7 00:53 , Processed in 0.016690 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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