设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8469|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
7 A1 o1 t4 c2 Y6 w' e1 [" b+ B) S/ U$ R) Z8 M' @0 s: T3 n( W
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。% @5 \$ d$ S6 D% a- G% C
) v( r( u3 C: R4 W1 i
turtles-own [a b c d k f g h8 m; {4 |" g+ i
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
  A+ Y: a4 k7 I/ f* F]
+ j5 w' k1 u+ ~/ L+ i! U% I0 oto new% R4 s4 ]* i! J& R( u' f( B* [& A% n' `
  ca8 g( ^( q# G' y8 ]) q: U
  crt 5 * num_of_building
3 K! s; h8 ?. ^8 a$ f  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]5 Q' z7 J! `; b8 D
  scatter     ;;keep center-turtle random positions ) s, Q8 C& I8 D% i! K; {. k
  unit_plan   ;;make up the building plan/ F' H- A6 A4 d: e( `
end
; E; Y; {) d5 B2 Uto scatter
# j8 B; y; g; S+ cask turtles with [remainder who 5 = 0]8 b$ k3 c, m$ ^5 M! \" F6 {& B
[4 n( c0 d8 @: r# I7 R# b
set xcor xcor - 6 + random-float 15$ v) S$ f  X1 L' i
set ycor ycor - 6 + random-float 15, q  [$ x! [5 {7 j5 G* X( X
]
7 Y+ C- B' T) E# A: m2 k! g+ tend6 }" z, v/ R& l. y5 I8 [7 e9 q( ?
to unit_plan 5 o+ b( K% L" O
ask turtles [1 s; w- }: k- c7 n
if (remainder who 5 = 1) [set a who
: L4 \1 }& q# ?" X5 g                          set x ( 0 - Wid / 2 )
5 X* A1 M$ o0 v6 w  O2 p. Y                          set y  Dep / 2 ]3 U, l* a, o+ k7 d7 I& X1 f9 T
           set b  int (a / 5) * 5
% ^/ C/ p2 @/ R: ]" x7 x6 i& z    setxy ( xcor-of turtle b + x )
0 X# F' a5 A; v; Q# Y/ r1 e          ( ycor-of turtle b + y )" y( ?4 W1 P% O" _( n. T
if (remainder who 5 = 2) [set c who
9 v8 v3 `/ ?, K, _1 Z                          set x ( 0 - Wid / 2 ) : j! B1 V% P# B0 d: I7 b. Y
                          set y (0 - Dep / 2 )  ]
8 C/ I  Z# T3 \/ l- |3 Z+ \                          set d int (c / 5) * 5
. J" S# r' c; W7 L   setxy   ( xcor-of turtle d + x )
. i/ O1 D2 m! _; t4 E           (ycor-of turtle d + y ) , Z' B" v# A$ l& y* a2 M3 D! d" N+ s
         
5 A$ B+ z$ q8 f0 y/ D0 y            / g& [, W4 {$ M  B: W9 j: c" l3 }
if (remainder who 5 = 3) [set k who
; K- B- D: o3 I% f5 q+ i# q                          set x( Wid / 2)  
9 R% c( E  m. _! N8 p$ c. P- `* b                          set y (0 - Dep / 2 ) ]) Z" n/ O6 i# s9 O# O$ R
                          set f int (k / 5) * 5  X& r) c! \8 H' I+ _3 q/ R9 _9 L
  setxy   ( xcor-of turtle f + x )
1 @0 D* G) w; ~, u1 H           (ycor-of turtle f + y ) - Z% W) J$ h$ V, k0 N1 g
           
  o% b+ D' ^% c2 W) o$ T           
/ C# V) t8 ?+ X& @0 J3 D/ [# fif (remainder who 5 = 4) [set g who
1 `# j% x8 y8 ?- s3 u. K                          set x Wid / 2
  n+ ~: I" q' b3 A1 M* N                          set y  Dep / 2 ]
' Z3 ^: o  i6 p. F3 ~4 ]* o                          set h  int (g / 5) * 53 E. P% R- }% t
  setxy   ( xcor-of turtle h + x )+ J) n, B' T+ {2 }* N# N
           (ycor-of turtle h + y ) . `- J$ ~' b1 Q: b
                          
" `- x" k% f- E8 l5 t                          
. [0 x9 ^/ l: `+ G  s% [- S* _                          ]7 V" `- E8 k- A" m! Y- k9 p9 E
end
7 A0 J8 }& D6 t6 ^2 c! S( U" E7 {3 v- f! Y$ l; r% c9 q
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 |0 Q8 V0 H0 r. q应该是! v3 z7 X! ~, M- r
ask turtles [
# W+ O$ H+ P* I5 a4 zif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
% d" J: [# I2 N7 O1 p/ I                          set y  Dep / 2 , ?; Z8 }3 Z  c! l
           set b  int (who / 5) * 5! ~( C# |' C& V7 z! T
    setxy ( xcor-of turtle b + x )
$ \. L/ U) r8 e  D5 J& z          ( ycor-of turtle b + y )]]
, H) ?/ p1 e* h9 d5 k3 a, `& w/ O5 Gend! B6 w5 B2 q4 E" ?9 z' d* u
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-1 00:54 , Processed in 0.015150 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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