设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8846|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。, Y( Q+ w7 N& U
! |4 ^. n1 n5 U3 q% N1 u
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。- _- k5 f& z. k5 N2 z9 O
' F' M/ V- i# D; u: i7 Y. a
turtles-own [a b c d k f g h- u: ?& m5 B  F0 B7 x; w: q  N
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
9 L$ `% b* _( w. }]# U) ~; p3 L. q4 j) j. [2 O
to new4 [: \7 b% r/ J  N+ I& W0 T
  ca6 i3 L0 X1 [2 s, g# B+ z
  crt 5 * num_of_building4 d  u. f5 e( T
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 d6 r$ {7 D; q* d' l  scatter     ;;keep center-turtle random positions 4 A9 I+ g: v) _5 ^8 E
  unit_plan   ;;make up the building plan& z$ ?% h8 l8 ?5 N4 u6 z
end5 P$ C- R8 m8 Z
to scatter7 p$ T  g+ C( Z' q* p$ ?1 J5 ^3 R
ask turtles with [remainder who 5 = 0]
0 A4 F. B9 t/ |4 W[" x. K3 p" W. f, f
set xcor xcor - 6 + random-float 152 U- ~% m; f: \5 `( J8 E9 f$ E
set ycor ycor - 6 + random-float 15
2 c) O! K9 _' @8 ^]* j! I: K; G% v1 C( P4 F- b
end) _( g% {  S" n0 W& [
to unit_plan
  Y: U. d6 E- Z* S' Pask turtles [
4 h! V  ~4 f2 ?) ~8 M, D4 t$ vif (remainder who 5 = 1) [set a who 4 U5 f6 w4 w) n7 [9 R: ], ~! a
                          set x ( 0 - Wid / 2 ) $ |3 j& I' s5 ~3 ]* K
                          set y  Dep / 2 ], p+ B1 R3 c: t9 \' q8 j
           set b  int (a / 5) * 5' x5 r7 `) C* N0 O
    setxy ( xcor-of turtle b + x )
% F( }; L% I( E# o; Z8 F8 b# ~          ( ycor-of turtle b + y )
, w8 W9 |6 F$ Nif (remainder who 5 = 2) [set c who
" c) o) S, `% [2 [4 r                          set x ( 0 - Wid / 2 )
' K, F4 c) v3 Q" k, R6 o* q+ P                          set y (0 - Dep / 2 )  ]0 c3 ]6 `' s# D- Z" }$ H, ^9 E
                          set d int (c / 5) * 57 c& O1 z9 [7 Q+ b) Q
   setxy   ( xcor-of turtle d + x )2 `- `: m4 P1 w8 q- Y( `4 g; e1 W
           (ycor-of turtle d + y ) % l* L( e2 `$ u- w+ u
         
4 t% E1 D( o' W1 i. g            . E' h8 m8 ^4 q: i) `/ J9 \
if (remainder who 5 = 3) [set k who
- p8 S+ I" ]* v5 O& e* z: D7 j                          set x( Wid / 2)  8 k7 ~; F, ^( M; t' T: _, O1 b
                          set y (0 - Dep / 2 ) ]$ F+ U  o3 L1 m; n- m1 h5 R* M  ~
                          set f int (k / 5) * 5
# x4 g9 {* `  n4 P  setxy   ( xcor-of turtle f + x )
+ f1 c' l- K" L/ `8 ]$ w2 w3 q& o           (ycor-of turtle f + y )
5 U+ e$ \+ M3 Y* h           / v: N8 C% W' K  {$ E% l$ N
           : y, X. C2 O) {( c; K7 I
if (remainder who 5 = 4) [set g who
( Y: {+ Y' o( ~' h  M2 m1 x& k                          set x Wid / 2 + R$ K- n7 W' N+ u7 o7 T
                          set y  Dep / 2 ]
! x2 s, K" c! v2 R3 N                          set h  int (g / 5) * 5+ {# ?0 @% |1 ^; P5 {7 d, S$ I
  setxy   ( xcor-of turtle h + x )/ Z' N/ ?0 c2 Y3 X, S
           (ycor-of turtle h + y )
" z0 p. q$ d! `5 |( z0 a6 z                          ' p  a0 g  b, l5 Y( v
                          0 N) _1 i) z6 `9 P# b- R: e: o& ?
                          ]9 t4 C: V" }2 I
end
4 v- ]! N# \$ J+ D( l$ ~
) K" y* X$ {6 _3 r' O$ M" m2 B[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
$ w( v! @( k4 S2 J) y7 I& o应该是! O5 `# n; `1 C% d( S. l; p
ask turtles [( H8 }" c& v* X+ }% o0 e
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
, K1 I2 }  V: C# u6 f                          set y  Dep / 2
; Z; ?/ Y+ j5 Z( b/ K+ o+ s( Q           set b  int (who / 5) * 51 d/ a/ N/ I0 E; @% n( T/ Y
    setxy ( xcor-of turtle b + x )
- k* I7 c2 y. ~( L          ( ycor-of turtle b + y )]]& Z* R+ w' d% m
end
# l5 e& G, w" K6 S) j之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-11 04:22 , Processed in 0.015674 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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