设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7676|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。2 n# o% ^; [0 p/ _& O7 K0 y4 K

$ p: O( @  k/ z( ?7 C但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。2 y3 x  e+ R4 t

: z  z+ l1 e+ ^/ Q' c& ~1 Zturtles-own [a b c d k f g h
5 D, c: R8 Z1 O( g+ u  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 r9 q5 T( n* a* l# h
]
- n8 d5 W+ v5 E- O5 X7 x; xto new# K: S6 [0 ?; u' m6 h2 B
  ca
: [" W1 i) i! b2 \+ U  crt 5 * num_of_building% I$ \" P/ D% V  {; w3 G
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]5 F5 B8 l5 k, V2 [9 W8 T
  scatter     ;;keep center-turtle random positions
8 d! l/ H$ c1 ^  unit_plan   ;;make up the building plan
. F0 |# C! S$ l. Z! \! j) M! zend
4 d( z1 Q# c- x3 y8 |+ R8 R" _to scatter& a2 q. a  k( l$ a
ask turtles with [remainder who 5 = 0]% {! D4 H, C# M7 u) `; z
[
# ~, M; k  F6 n& Y$ c# ^set xcor xcor - 6 + random-float 156 I1 [) j4 G4 T) G7 L9 A( a
set ycor ycor - 6 + random-float 15
! o9 I) O6 e9 ]]4 r5 @( N; u) y. T, s) R
end9 s4 U% H% {& m) `+ E( `
to unit_plan 9 O# J0 V! @! n3 W4 R
ask turtles [0 a: \. {( X9 F
if (remainder who 5 = 1) [set a who * ]6 N) _( C2 n' s$ L9 b" R
                          set x ( 0 - Wid / 2 ) - X# e( N; J* N* ^1 i2 X
                          set y  Dep / 2 ]' e% W! k4 }# v+ e$ e; M
           set b  int (a / 5) * 5+ Z6 d! K5 w$ M# ]0 G5 y# Q
    setxy ( xcor-of turtle b + x )
/ O7 L% q8 U  [3 B  P; A' u          ( ycor-of turtle b + y )
7 }. K/ r8 _3 B  c2 hif (remainder who 5 = 2) [set c who
7 i0 R/ x! A, `5 v/ M                          set x ( 0 - Wid / 2 ) " d: }# v7 X1 _; r, u# ^) C  c
                          set y (0 - Dep / 2 )  ]+ t5 h- H* o/ y4 r: x
                          set d int (c / 5) * 5
. h5 X6 P0 ~/ L- _! b   setxy   ( xcor-of turtle d + x )
* N1 d  C5 E4 q% s9 p           (ycor-of turtle d + y )
) R" W7 P/ E- M6 p          % e; d6 z3 t, z6 I) w8 s( I) Z
            
" A; B+ N  J7 \/ E& xif (remainder who 5 = 3) [set k who
" n" C4 J0 u) @% P* `8 l                          set x( Wid / 2)  ! N& T3 ~, i6 k3 \1 A3 D# r2 I
                          set y (0 - Dep / 2 ) ]5 [' M6 l% u: k% A8 k
                          set f int (k / 5) * 5! g* S9 G8 N8 }6 J8 O
  setxy   ( xcor-of turtle f + x )
3 G3 k; A0 \1 r/ e1 N           (ycor-of turtle f + y ) 6 u& u7 l- t/ C" J
           . a" m2 ]# P) L% G6 a
           
( M  o+ j# Z7 _if (remainder who 5 = 4) [set g who+ u' l3 x1 j6 a( ~2 X
                          set x Wid / 2
. W& ?0 f: \' V0 Z' u                          set y  Dep / 2 ]
3 w1 U4 ^' j, V1 z  z                          set h  int (g / 5) * 5" v% M6 J! w8 A
  setxy   ( xcor-of turtle h + x )
( v7 q/ j4 ?/ G. z& s5 M           (ycor-of turtle h + y ) ( @4 m2 x7 {9 |* F6 d4 k
                          6 |* L; P, `/ c9 k# l( G$ L1 I
                          4 q1 W! g9 u" |5 D: B( h
                          ]
( i8 R) l# T' V  c, V6 p/ @end$ h7 c1 M* S& [% L4 j5 M

, W) p- G  o, e; h[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,6 a. h% S3 g+ U" ^
应该是0 w0 u' u6 t2 U( T- B; T$ q5 R- z2 [
ask turtles [  E; L% ^- }$ v9 _0 a
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) * R& I7 I& d" G# k
                          set y  Dep / 2 1 ^5 P5 x4 a+ J8 M. b1 K; w
           set b  int (who / 5) * 56 I/ _$ d0 a' c
    setxy ( xcor-of turtle b + x )
! s, ^9 B) r* m8 T* L$ ~- A5 I/ J( e          ( ycor-of turtle b + y )]]+ X) G1 r9 B) U1 J6 O+ L' a
end# l- c8 J/ J7 D/ r- B! f/ x
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-13 18:05 , Processed in 0.014117 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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