设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7950|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。+ O% z' W+ j4 ]* M* e- b, C
& v' ]# V$ m- U) {! j
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
* ~7 W( b& y$ f+ Q; m
7 @) f$ v" F' Z- a3 V" iturtles-own [a b c d k f g h) H; S9 I# q( G
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
% ]8 S4 [* Q8 ~( ?; y]) L: k) p% I. I# Q9 _0 |" v
to new- N! J- _& `/ _
  ca" e/ }" J/ i0 ^2 |: R
  crt 5 * num_of_building2 `: S+ I4 y6 m" b0 @
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
: m- V6 P4 w8 f  scatter     ;;keep center-turtle random positions 9 @6 I( I% c$ i: g" W7 Z. z
  unit_plan   ;;make up the building plan
& t6 B$ X$ t0 g7 W( L; |* F1 nend% W+ R# `# K( K% t& ^  \3 \5 v1 q
to scatter2 z1 \- p/ o" R9 x
ask turtles with [remainder who 5 = 0]0 x. z: j* P+ ^2 {$ m" D+ n
[
* w0 ^& n9 ~1 b4 N4 F/ Jset xcor xcor - 6 + random-float 155 f$ n5 e& B+ Z9 J2 a% U. u
set ycor ycor - 6 + random-float 15# a5 |4 y/ M  b
]
* i0 H7 s7 n" h8 U9 q# h5 {; _# Bend
. X0 t& Z4 H( u# h) [4 H2 _to unit_plan / o4 _! Q9 f* A/ N+ B2 S
ask turtles [
. J4 L* m6 N! q0 v# u& \5 c5 L" Oif (remainder who 5 = 1) [set a who ) [8 {- h$ y& C; D  B4 N
                          set x ( 0 - Wid / 2 )
  f& }# D, Q: E$ F$ r9 \                          set y  Dep / 2 ]
' \& o5 l2 m& a0 j  v           set b  int (a / 5) * 5
9 y  h  T# ~5 a' g    setxy ( xcor-of turtle b + x )
6 X8 _9 L# {' K- j# L! l' {! D0 m          ( ycor-of turtle b + y )  I+ m, q/ C7 o
if (remainder who 5 = 2) [set c who
( z9 D7 _1 b: t                          set x ( 0 - Wid / 2 ) " Q% R5 e- y6 D
                          set y (0 - Dep / 2 )  ]+ {) _, j! i  s
                          set d int (c / 5) * 52 b% t4 z$ ]9 }. e* \. `( G
   setxy   ( xcor-of turtle d + x )! x' {5 O* I. T
           (ycor-of turtle d + y )
/ f! Y) S/ J% d% _" G          ! }7 A$ r- x! ~8 b' A8 y0 G
            
" H8 m! a9 {1 ], c  tif (remainder who 5 = 3) [set k who. |/ u; Z$ N1 f
                          set x( Wid / 2)  
: W- x& w2 X6 k, V6 j                          set y (0 - Dep / 2 ) ]
% g& `2 u6 A  j/ ]* \                          set f int (k / 5) * 5
6 @* T2 ~5 K4 C# y# T; ~0 Y0 m  setxy   ( xcor-of turtle f + x )! c2 p4 {5 s! C+ h  n# T5 O7 I: a% \
           (ycor-of turtle f + y ) 5 I& w" F0 r/ F& f" I4 P0 k
           # i% f; S5 [2 V) @/ y
           
* @+ k, S9 B: Z, D+ Y$ w: L/ Nif (remainder who 5 = 4) [set g who& I; [1 W$ V5 @
                          set x Wid / 2 ( y" ]+ z+ Y9 O0 d2 O2 d
                          set y  Dep / 2 ]
  M8 y  H, M- n5 X7 b, X- F( ]                          set h  int (g / 5) * 5
6 @  \2 ^; F7 k+ ^: h" d7 @* Y, s  setxy   ( xcor-of turtle h + x )
8 v/ R5 l: x: h+ p+ V1 F+ K           (ycor-of turtle h + y )
; {0 k: h: T) k! |3 J* u                          # |+ l9 z, G, u
                          ) Q# ?2 E9 M! Z$ j! E
                          ]
. H7 R) b2 G1 `4 Gend5 C7 k- {, H; t$ B: @
) r3 Q- I5 V. k* \8 ~& G% T
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,, N# V& m% b& ^
应该是) ^7 w' T$ F  p" @  p
ask turtles [  |' a* Q1 e; V& @; M2 w; K
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) & u' J" V2 r* X: i/ H7 P
                          set y  Dep / 2 # n$ ?! P7 d, F; i5 i& z% ?0 @% s* x
           set b  int (who / 5) * 5% ^" N& O1 b& s, K; R# j
    setxy ( xcor-of turtle b + x )
- k" C; j6 s: r% I2 h          ( ycor-of turtle b + y )]]1 U; w0 @; ~# p" `
end
2 X: ^/ V- m2 b8 s! P: @% N4 T8 P之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-21 07:09 , Processed in 0.018760 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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