设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7468|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
# K: V$ M6 h3 w' Q9 a, P
$ b; `0 P3 O3 U6 ^但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。( _/ ^7 f- ?' v& b9 {8 e# m
$ y3 T; J+ q1 q  m  _6 V
turtles-own [a b c d k f g h
5 x6 b+ L, K9 ?- g/ l  {; c  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
5 v( E) z" Z4 K# t6 @2 d]
  B/ f1 k* \0 m& M% C6 t( D- f7 ato new
+ J+ Y7 P: P& x: m& ^  ca
5 k9 f  I, r* Q) ~! W) E  crt 5 * num_of_building: {) W8 M1 n; V2 m- ?# t& M
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]6 U( ]# M8 [5 r, s( _" l
  scatter     ;;keep center-turtle random positions
2 b& F2 S, P: G3 Z  unit_plan   ;;make up the building plan& X/ U; c, y; e2 R
end
/ ]" d; k; x! v" M& n8 b7 J! q; rto scatter
% t+ n) [3 o, G" C8 w& Cask turtles with [remainder who 5 = 0]
' N4 c, B5 R$ ]8 {[
' d& }7 T* s1 L3 g8 q6 `2 Vset xcor xcor - 6 + random-float 15/ p8 T4 Z5 Y7 p' X8 p" \: i
set ycor ycor - 6 + random-float 15
9 z: r7 l, D$ \6 h# K5 @: i]
8 S  z* K0 v- M, k5 o  M- C, aend
0 q6 B# g- i( F/ S) H+ fto unit_plan
7 a) U  `9 S5 z5 Fask turtles [
  M8 R' i% z. N* n8 O3 ~if (remainder who 5 = 1) [set a who
7 Z. _; O+ \/ U- I& R                          set x ( 0 - Wid / 2 ) $ M- i# A7 N; S
                          set y  Dep / 2 ]& W4 p7 Q, c* r$ M
           set b  int (a / 5) * 5$ x; s5 V) O3 `) |6 a& }
    setxy ( xcor-of turtle b + x )+ N! h8 O8 U6 x  K
          ( ycor-of turtle b + y )
: G# |  J4 A& N0 T. }if (remainder who 5 = 2) [set c who
- G8 r9 y* r6 U- d% Y# `6 x                          set x ( 0 - Wid / 2 )
" V' E6 J" z' D/ O                          set y (0 - Dep / 2 )  ]( h, O8 @; q. n
                          set d int (c / 5) * 5
) x6 O6 i- E* l4 \7 G" b( T2 z   setxy   ( xcor-of turtle d + x )
8 f/ M3 k7 T0 A3 ~2 H  v& ^1 b           (ycor-of turtle d + y ) * s4 i* r. ^- P0 l2 }0 ?" ?
          8 ]1 r/ N5 _) L! @) `7 {7 T' L
            2 x4 n; A- w9 _/ k  t
if (remainder who 5 = 3) [set k who/ a( J" K) r" P
                          set x( Wid / 2)  6 m! `; H, v: N
                          set y (0 - Dep / 2 ) ]- R8 h" i6 ~7 o9 \6 H
                          set f int (k / 5) * 53 c% a: g! k7 `* `% z0 {. V: e" W
  setxy   ( xcor-of turtle f + x )
* k* V3 \3 {; A% K           (ycor-of turtle f + y )
- M* O* c3 P/ i2 n           
; l( L) J: d/ N! L           
* A, ~6 \) P: w  b- B- Uif (remainder who 5 = 4) [set g who
7 H5 @: H  R  d6 U                          set x Wid / 2
$ e! J  N( i: G, |                          set y  Dep / 2 ]
' n. n) \" ^$ `5 P4 m1 p8 V                          set h  int (g / 5) * 50 P4 N6 U; r' K  A1 Y( k3 t2 }6 [& C) w
  setxy   ( xcor-of turtle h + x )7 b2 l- M! r3 t8 W; h
           (ycor-of turtle h + y )
' N' A- u+ Q( H# V* E                          
" b# `! g* G" ?) k! o; X                          
1 L& `, p; h5 a/ w                          ]2 ~) p$ r; w! l9 e8 ^- o( h$ [
end3 v' s3 J6 N, x' U4 g" H. U

. ?- L) O& y; i[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,' |) _$ n4 w& Q
应该是
2 h" g- ^/ y- o3 {ask turtles [6 x% D% B% q6 e$ E
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) . [4 K3 w4 j7 p3 W6 `% e/ g3 r+ G
                          set y  Dep / 2
4 R% ~) T5 l& l; Z! p# T5 A  J           set b  int (who / 5) * 5
; f4 a. h; v8 v) ~: b0 [" \    setxy ( xcor-of turtle b + x )) Z0 `# T' ^3 n" h  L1 Z* W
          ( ycor-of turtle b + y )]]% Y- }( r8 B1 Q' p2 B. K; o7 R
end
) q7 T( i  N$ Q& Z1 p9 X& Z之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-14 13:38 , Processed in 0.014967 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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