设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8323|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。' `- N$ h5 u. w( }5 s9 {* S$ M
  X7 z* C) h+ B2 o, |$ n- z
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。; n/ X: s. y+ ^, k; I, L5 j! c

6 H+ k% i# @* Q( V: g- X0 Y2 n+ rturtles-own [a b c d k f g h
# A) y4 E) W" Z2 L6 i  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 7 P5 A, _& Z/ a1 z% z" s
]1 E* T, Z( r/ Z( d  j9 Q" p
to new: D) @: W& ]4 Y% l
  ca
  W9 q8 Y& R( U  crt 5 * num_of_building
, i1 X# |# I: Y1 ^  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
: L' o, c2 Z+ R) |% b' q/ |" e# C  scatter     ;;keep center-turtle random positions " E" p2 r  b: e7 U
  unit_plan   ;;make up the building plan
  p+ R. Y5 E% f" xend0 v3 X# S4 d7 R9 ?7 H) R
to scatter" b4 M1 l, ?3 g0 ^
ask turtles with [remainder who 5 = 0]0 Y+ p7 G: M  a& p
[
. U) `  k, s+ ~8 x7 tset xcor xcor - 6 + random-float 15
1 Q) j7 ]0 F- J& A1 Q" \$ c+ r/ Wset ycor ycor - 6 + random-float 15
- J; \7 F: F+ x6 U) ^9 y( o]
) k' q0 A, M; s+ d+ d1 I3 t2 Zend
, B- u& O& _. J& m; q' C, j$ [to unit_plan : [$ l# H9 o# d. Q* O
ask turtles [
* t: V- t  n0 I' C, e3 M- g0 C$ ~* yif (remainder who 5 = 1) [set a who
+ R& v9 H% i" D0 ~7 D% q3 C" Y                          set x ( 0 - Wid / 2 ) % _) F. T# I* f: O/ n6 z
                          set y  Dep / 2 ]
- r0 f6 Q# V5 V8 M           set b  int (a / 5) * 5
# M4 x6 \1 m: Q- d/ {: S9 K    setxy ( xcor-of turtle b + x )
0 K7 x, C+ R* _* n. x6 j4 @: U          ( ycor-of turtle b + y )5 ^! E& `! x! k1 S$ j2 u* ~
if (remainder who 5 = 2) [set c who
0 ~- X; y' y4 E" n                          set x ( 0 - Wid / 2 ) 5 t9 y2 a! m. r
                          set y (0 - Dep / 2 )  ]
3 @( w! X0 a# ?8 ]                          set d int (c / 5) * 5
/ x1 A5 c' Q$ Q4 f   setxy   ( xcor-of turtle d + x )1 H' a, J0 c$ [1 G
           (ycor-of turtle d + y )
& |" K& r0 a8 C' _3 c0 L4 v          / x) j6 J6 |6 ~3 o
            8 Z, G0 Q/ P: m' `6 ?3 _
if (remainder who 5 = 3) [set k who
3 R/ Q; b; H6 J, i) n# Y' E                          set x( Wid / 2)  . e0 D' C1 ~" ~* r2 @
                          set y (0 - Dep / 2 ) ]9 E5 T5 V' N2 W, Q! V0 e
                          set f int (k / 5) * 5$ h, v5 c/ q( J8 x) q
  setxy   ( xcor-of turtle f + x )  s! E1 K8 m( }' U
           (ycor-of turtle f + y )
  }" p9 N* J2 S; A1 w+ Y           
, K  t( h' O3 [: _+ z. I5 U           
- `8 K. A1 ]+ vif (remainder who 5 = 4) [set g who
( H. q! m7 \, N  ?6 c' r' c' b- j                          set x Wid / 2 4 Q0 i. ]2 \0 x* H3 @( L
                          set y  Dep / 2 ]+ ~6 o5 l2 \* B  b
                          set h  int (g / 5) * 5
% P, L9 w6 f+ a5 r2 T' K  setxy   ( xcor-of turtle h + x )
8 q2 q! E0 e2 v7 h1 ^/ ?           (ycor-of turtle h + y ) * c$ V; s2 {1 o* X1 M' O. p
                          
& C5 H5 d( }8 g1 n2 ]" N% {! q% l                          
1 I! B5 T3 l! ~/ c1 s; c                          ]. u/ H4 u( a/ B$ H
end- j* \6 \: a2 D" O3 x

9 U* J& W* }# s( B4 c" v[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,/ M1 `. x* T- z+ Q3 J- R
应该是/ H# r0 r/ Y: g  a
ask turtles [
& }! i* u9 h3 t: P) Lif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 8 Z( l. J- {+ j# b/ c1 ~
                          set y  Dep / 2
/ ?  f, b) M5 i4 H; _           set b  int (who / 5) * 56 H% t0 C$ P1 s
    setxy ( xcor-of turtle b + x ). a: |! L% Q) g3 z
          ( ycor-of turtle b + y )]]: o. s1 R2 N: p
end9 e* z) U' h9 C
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-7 05:59 , Processed in 0.015255 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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