设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8670|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
3 d4 b# C) I9 f8 Y+ m
* W  d" E+ }' t+ O1 z. s但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
! e0 T! c. D) d+ m% ~! L
* C7 E; c. N" l0 o' {+ Oturtles-own [a b c d k f g h( }$ u" C, E" h) X6 b! K7 ~" w
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
6 L# c9 y0 n0 D! V* J]
1 o; O: v8 [% s+ @0 Z/ ~2 rto new
8 l. |; {+ d9 y3 G; H  ca
2 d+ L8 q4 `# r9 j( j' I  crt 5 * num_of_building0 i9 }5 U: x( b( _
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
! I& A  G+ p6 A) h  scatter     ;;keep center-turtle random positions # Q/ Y' {3 R' b8 X% f3 ~5 q
  unit_plan   ;;make up the building plan
& j. }8 u- g1 Q. \7 w5 q2 C2 nend4 m( I8 X0 U; I9 L( `8 m' R7 n
to scatter/ `1 R0 T$ b3 Z7 l
ask turtles with [remainder who 5 = 0]
1 G# m# ~. S  }[
: A" Y' E8 V0 f: {; l7 ]set xcor xcor - 6 + random-float 151 t( p( P0 j# B3 S
set ycor ycor - 6 + random-float 15
& {# n  n; }: ^$ e]
: q+ \% w, \$ A1 J9 y: ?- wend& f( R: c0 @5 M0 N6 o$ f
to unit_plan 0 c' N; I1 y( M+ ?2 w4 V' h% G. p0 D
ask turtles [! y, A2 x! @& L
if (remainder who 5 = 1) [set a who # F0 f3 S+ n3 _& ^; |3 l
                          set x ( 0 - Wid / 2 ) - U7 f/ T# j' e+ H
                          set y  Dep / 2 ]
2 w1 ^/ U; I+ M- e/ B+ T           set b  int (a / 5) * 5
- }! C8 V* x1 A! \. {$ {* d, c7 a% J    setxy ( xcor-of turtle b + x )
) R4 L9 ?; q" L  l( ^; q          ( ycor-of turtle b + y )
& j) G# p9 o5 `; w+ O: |9 \- ]if (remainder who 5 = 2) [set c who
- \; V7 s$ t, }                          set x ( 0 - Wid / 2 ) 0 s& \( t, M8 p! d: @% |6 L
                          set y (0 - Dep / 2 )  ]6 v6 G8 {& d3 \' z
                          set d int (c / 5) * 5
5 w# V0 X% E+ w; `   setxy   ( xcor-of turtle d + x ): Z& J: H: i3 r0 ?
           (ycor-of turtle d + y )
8 E/ Y$ }! a! E0 w; R) Y. m  w         
- w- W7 Q( h. c' `7 g; [            
9 ~. L  J( V3 e- J7 kif (remainder who 5 = 3) [set k who. x3 |8 a) S; J* |9 ^
                          set x( Wid / 2)  
" |: s3 D  o' o% f& B  ^% i                          set y (0 - Dep / 2 ) ]" d( {$ b1 [: q) f1 s0 t1 o9 Q+ {2 F
                          set f int (k / 5) * 5/ J* P/ t! B3 R9 i
  setxy   ( xcor-of turtle f + x ): X5 n: z% y3 Z. g) [8 Y
           (ycor-of turtle f + y ) 6 t3 |; f7 N7 `* w
           
  n7 {$ o, B6 ~% |& v1 a) `& f7 }           
2 D# S+ F2 c8 Mif (remainder who 5 = 4) [set g who- S- F) s* q3 }! g4 Y6 w4 x  Z
                          set x Wid / 2 / G! ]0 t* s& e4 @# y' M) G
                          set y  Dep / 2 ], c% x" e0 a' e( Z  U3 N4 _  X
                          set h  int (g / 5) * 5  f1 d4 `+ ?$ N* j
  setxy   ( xcor-of turtle h + x )
$ D/ t4 v8 n2 g3 K           (ycor-of turtle h + y )
. V5 A7 r2 m7 \& u3 f# Y% T7 `8 e                          8 P$ k1 T6 G5 u' W, i* @
                          # m# y* v! ?- X
                          ]
# c- s. @. g7 l* jend
; s- t. M( f: o6 e2 C4 |9 x( X' N  K8 l4 L3 d6 H# }2 v3 N
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
9 N" j/ K  c  H应该是/ B$ D# U" k* I1 y( d
ask turtles [
$ ^7 @& N7 ]' ~* aif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
* M9 @. B9 c6 G                          set y  Dep / 2
! k: ?# x' P- I: C' O+ {/ \           set b  int (who / 5) * 5
- e/ M6 J0 Z) |1 j; S% [    setxy ( xcor-of turtle b + x )
0 b, y( N% E1 N          ( ycor-of turtle b + y )]]$ o' Y& ?* g* I
end
& R0 V$ T) l: Z1 j& `; I) m8 X+ A% x之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-23 03:44 , Processed in 0.013192 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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