设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7349|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。2 Z4 d8 W; o3 x6 D$ n  _
" {2 B& o: W* m7 n# z! s+ B
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。* m$ y4 m* i, M) W

$ y3 P: A* w) X! Nturtles-own [a b c d k f g h' v2 C3 G+ N6 f8 k: f' w
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ( ~6 M  E6 F4 u" ?( P
]( X7 E" ^7 n; ]; [" u3 J2 ]
to new! F$ E  t1 w1 j5 {, e( F2 Y
  ca
, V6 `8 s; ?0 n6 E  G- ]' x' n( s  crt 5 * num_of_building
; E( }2 C7 a, s0 Y! K  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]9 ]7 e6 b+ X# x, E9 v& k
  scatter     ;;keep center-turtle random positions 2 Q/ _. k$ i& l0 j
  unit_plan   ;;make up the building plan
) p  s; v) g2 Z( [% z: t7 Oend
, ^; n0 e% j% q' k* @6 }- {4 b/ Sto scatter
* b9 }9 W! I9 Y/ K: N# Pask turtles with [remainder who 5 = 0]1 K0 Q& g& ]2 C6 x
[9 _2 s5 x$ U0 b, o6 o
set xcor xcor - 6 + random-float 15
' u1 s" {: Q) x2 p! e6 J6 }5 Gset ycor ycor - 6 + random-float 15
& c3 J6 S( x9 Y/ N]
8 q# y* n* p6 V4 t/ \# Dend; V. h' O  Y8 n6 d+ h4 W& N" _- v
to unit_plan 7 N: c- U/ J& u+ {9 R- w
ask turtles [
! d% v5 C# N6 J9 }/ B- p$ @0 G& Lif (remainder who 5 = 1) [set a who
7 n4 A" ^# `' f                          set x ( 0 - Wid / 2 )
4 a$ b2 n2 _  v" P1 c1 m                          set y  Dep / 2 ]
: F+ v  ]( i$ g- I& M0 B           set b  int (a / 5) * 53 I+ k0 N# b$ h1 r
    setxy ( xcor-of turtle b + x )
% }; g, F  n$ P          ( ycor-of turtle b + y ); J# y% b' l1 [# ~/ V4 s& K* k
if (remainder who 5 = 2) [set c who/ k% F8 n5 ]. k- m0 _
                          set x ( 0 - Wid / 2 )
* }3 y9 v/ d( a- ?$ Q                          set y (0 - Dep / 2 )  ]
( B/ W  b+ F) t                          set d int (c / 5) * 53 c& b8 o1 X4 c/ i' T, r
   setxy   ( xcor-of turtle d + x )
* l3 u  f. Y$ i3 N0 I& X: o           (ycor-of turtle d + y )
; f+ U. H1 a6 M2 U         
% T8 m' U) n4 X+ V            
8 s7 b) Q( S) d' y( Wif (remainder who 5 = 3) [set k who7 t% u7 m! @: {1 c. h6 y
                          set x( Wid / 2)  
$ v. |; h, v/ @2 Z( G                          set y (0 - Dep / 2 ) ]
% M# j3 F% c9 A, s                          set f int (k / 5) * 5
( ?" X3 p% x1 V. \  setxy   ( xcor-of turtle f + x )
; |; s$ _! s0 b4 z2 z8 |           (ycor-of turtle f + y ) ) [8 ^# _  a/ P* ~. o6 n) e6 H
           7 j+ m! h$ ^6 D6 C5 N
           
5 t; B# t; G- j: }9 Uif (remainder who 5 = 4) [set g who
# ?3 Y% \6 F1 C: X0 t* Y; x* p                          set x Wid / 2
; V) P+ I# g7 b                          set y  Dep / 2 ]
3 \8 V# A8 N1 S, M                          set h  int (g / 5) * 5. T& y' W! x8 C+ W; ?# u, ~3 ]& v, s, Z
  setxy   ( xcor-of turtle h + x )# ?; f- l, ~- O. M2 V
           (ycor-of turtle h + y ) ' C; V  W8 P" e5 R" O$ ~
                          
$ k' q# S* E) L' [5 ]& U                          ' C1 v. \: W8 i
                          ]
5 g+ I3 N% o  c6 W$ }! F/ Rend/ x0 Z- o2 ?( q
: L( E4 ~. _2 J+ i6 _2 _
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,# c% p* L; k* c
应该是, i: `2 \1 P) b* ~" E$ ]
ask turtles [
( H1 k) |4 }" x; Rif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) % H  L8 h7 C( n! _
                          set y  Dep / 2
  m5 {5 P9 E  W3 J3 z+ l           set b  int (who / 5) * 52 C; A! N8 A, w
    setxy ( xcor-of turtle b + x )
+ J  s3 `, c% R$ S- y2 P  |          ( ycor-of turtle b + y )]]/ e+ I1 w5 f9 @; `. T# X2 e
end
8 y$ I8 z7 Z% J+ i9 |" l) E2 s之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-1 04:46 , Processed in 0.020662 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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