设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6789|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。  T4 [) ]! c/ ^

, x9 n- x; S2 l但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。5 F* _7 ^, O4 A
, C' c+ P/ d2 J! [8 _
turtles-own [a b c d k f g h. l* Q0 u9 b3 l# j- Y: }7 \
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
$ D0 _+ m0 A# W/ O3 y]2 F2 q* B# [3 E5 G1 X
to new+ @8 Z& g( ?. w# i9 ~0 U
  ca8 n5 F  [  X# ?5 A$ N' r) h4 l- }
  crt 5 * num_of_building
) K/ Z/ B' _9 \) m" T5 `: s  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]9 O0 N+ e5 V: L
  scatter     ;;keep center-turtle random positions
. x3 H. P0 `& o$ j  unit_plan   ;;make up the building plan8 K) w! i- q7 u* j* d
end; S0 Q# u! B- }  |* z  f/ R
to scatter1 S9 \+ a4 t$ h+ `  g0 j6 r: i6 m
ask turtles with [remainder who 5 = 0]
2 [4 {3 I, q7 `2 M[
! [$ M2 [0 A; Eset xcor xcor - 6 + random-float 15; \  S- c" z* n
set ycor ycor - 6 + random-float 15
) h. w1 v/ r  I) t0 v]
2 s, |& b- P$ B& s' J; ^% O  y4 dend
, s5 B/ d) M' m  O. v6 r: c1 Zto unit_plan # _& `. Z. F  q* C+ {/ S2 T
ask turtles [
5 {' ~/ b  p% C  }' `if (remainder who 5 = 1) [set a who ) u9 n7 T3 e" }7 \1 r0 \0 `! {
                          set x ( 0 - Wid / 2 )
9 c9 q; j& h$ m) Q$ S# ~" f' L. N. R                          set y  Dep / 2 ]
3 K% J8 k# S3 ^' K           set b  int (a / 5) * 5. a/ q6 @, B7 `) C# H$ g0 Y
    setxy ( xcor-of turtle b + x )8 w# R6 ]5 }! J
          ( ycor-of turtle b + y )* k( X  |4 v! c5 }* t# g
if (remainder who 5 = 2) [set c who
7 m6 \2 {5 U- F) z                          set x ( 0 - Wid / 2 ) * O& @0 g/ G8 @3 f3 ]- m6 B
                          set y (0 - Dep / 2 )  ]
3 j, z# m) @( M. y. O) q                          set d int (c / 5) * 5) y  w4 O5 d; \0 A; t
   setxy   ( xcor-of turtle d + x )" _7 N7 |7 Y, {3 E4 l1 y5 O4 y6 P/ f
           (ycor-of turtle d + y ) & @: e& ?9 U" O( x9 v
         
% F& z2 @1 B& ]( y. ~/ E0 V            / g! s; a7 ]2 Q# X3 l) O" j9 J! |
if (remainder who 5 = 3) [set k who* P4 p! P1 b3 h& @2 g$ |
                          set x( Wid / 2)  ( B) c/ H: N' I* H+ v% @. m
                          set y (0 - Dep / 2 ) ]
% z. J* B% }; |: e+ I                          set f int (k / 5) * 5+ e5 y+ W" Y% G
  setxy   ( xcor-of turtle f + x )
5 ~- Q% L7 w9 S; p6 f           (ycor-of turtle f + y ) + w& _% k  R3 X, K8 Q/ M8 [3 S, @1 w9 |
           4 ]" b: U$ g9 B! \
           
8 H8 T* u7 \2 F6 Q8 t. bif (remainder who 5 = 4) [set g who
; ?, E7 F# @& a1 f                          set x Wid / 2
* x, X6 s/ N& V) L  q                          set y  Dep / 2 ]
9 ^+ @  S6 t6 v; B                          set h  int (g / 5) * 5
0 R" t* Q7 n2 X- r# ^0 j0 U  setxy   ( xcor-of turtle h + x )+ k: ~1 U, U8 B1 k4 }$ F; y
           (ycor-of turtle h + y ) ' n1 _- H: N9 z6 S; i
                          
( R; X, k! Y2 i0 ^5 t0 G, [# i                          
8 _( e! t2 `: b                          ]
% ^9 R% n" @+ M3 p7 l$ |5 Iend9 _3 g) Q8 T, g
/ ^( i' X; N  Q8 d
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
/ {* P4 r6 y; `" I应该是
0 p) E# `' [1 U* t1 vask turtles [
; O: m5 H$ _, B& Jif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ' E+ z2 M; u6 G; ?8 ?
                          set y  Dep / 2
8 e$ T+ [& _2 a0 S8 _3 x; [           set b  int (who / 5) * 5
+ d# X  g9 T9 n  r+ V' }    setxy ( xcor-of turtle b + x )
7 G9 V+ R8 y4 y+ }. M          ( ycor-of turtle b + y )]]) |3 X/ }9 g- U
end
! d6 [; D* \% K& V9 |. W* h4 K0 Y之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-23 09:59 , Processed in 0.025336 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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