设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7250|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
8 c/ f5 P2 U$ |8 H. K5 ?8 I; q' m) U4 i
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
$ ]! G7 b$ S' x: r+ G- n1 l, U' N2 c1 f& y' H, j5 y, b8 [: ^0 u& g
turtles-own [a b c d k f g h8 K% ~$ A: x8 i2 M* J
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 6 S9 M" a* u1 }  H' z5 B1 x
]$ M9 K7 d2 w/ H+ r6 \0 @$ z
to new; l1 G% W$ S5 C: v0 X+ a; M
  ca
7 _- Q+ p( g1 @  crt 5 * num_of_building
4 }; M0 p  `, r' X  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]2 I6 _: N' V- C+ S
  scatter     ;;keep center-turtle random positions 2 U3 N# p, T8 z/ R
  unit_plan   ;;make up the building plan+ w$ X; U  J1 b- j7 c
end* B4 x; F0 x0 t" F0 {  P* X& ]
to scatter
8 d, G7 O6 a7 L5 i' ~ask turtles with [remainder who 5 = 0]
* P- b5 w# d' _2 L[8 o- F5 L( s  Q" w. r' T
set xcor xcor - 6 + random-float 15
# j4 {( @. S! x! G2 hset ycor ycor - 6 + random-float 15
; T6 |( a8 y0 ?, [5 }7 `]+ H2 K7 \& n# `1 Z
end. T+ s+ M/ ?+ s' m  Y1 X
to unit_plan 9 G  r3 W7 u5 Y8 _  X4 [7 W/ T! L
ask turtles [
' r& P0 X- e& C, Pif (remainder who 5 = 1) [set a who - q& U! n9 d+ M
                          set x ( 0 - Wid / 2 ) ' z8 ?$ F2 |- Z! y4 P2 c1 L4 h1 u
                          set y  Dep / 2 ]
0 V9 i/ D$ [3 e9 A           set b  int (a / 5) * 5; t& h3 Y7 Q+ W: m, ^
    setxy ( xcor-of turtle b + x ); A7 P/ W, }* j, p
          ( ycor-of turtle b + y )
* I) A! x0 p1 Z  s4 vif (remainder who 5 = 2) [set c who# J# \) i; y0 V0 `7 ]
                          set x ( 0 - Wid / 2 ) / F+ _: c% a* M! m9 x, ]" s
                          set y (0 - Dep / 2 )  ]
6 h' l, e$ _/ U: Z: |9 c" X                          set d int (c / 5) * 5
! x6 K# c1 `9 g( P   setxy   ( xcor-of turtle d + x )
+ [" Y3 D# V- k' n, |: ?/ A           (ycor-of turtle d + y )
3 z/ ], G# F" }; W4 O/ Y         
' @6 \4 l3 v# q; Z: U4 c3 ~            
+ ?: E( B$ Y) Q. nif (remainder who 5 = 3) [set k who
' _) r8 l2 U1 m! T9 `) t4 r                          set x( Wid / 2)  
# l. `7 {; c+ O. L, h                          set y (0 - Dep / 2 ) ]
7 a. w3 p! `$ F! Z1 p& U                          set f int (k / 5) * 5: Z- B# l- \1 U- O8 y
  setxy   ( xcor-of turtle f + x )
( h5 Z& X! H# f3 ]/ D( ?  v: q           (ycor-of turtle f + y ) . V9 F2 f& Y+ }
           
. k3 B$ X6 I. @" I             m" h% F) w4 x5 l
if (remainder who 5 = 4) [set g who* U4 K' k. D9 d+ Z+ N
                          set x Wid / 2 9 `( O- S) k. l0 I$ h
                          set y  Dep / 2 ]4 ~( O! K( I4 ?3 X- S
                          set h  int (g / 5) * 5
4 h' D/ H- O3 [5 M" L3 o  setxy   ( xcor-of turtle h + x )0 F! h: j7 O, t
           (ycor-of turtle h + y )
% V. S5 Y9 w& g. s7 p& N3 C7 }& k. P9 l                          
( F* q0 J. N/ o1 [7 |: S                          3 [: ?/ b! t2 x3 ^5 n0 z
                          ]
& Y: q; |3 m/ x% Uend8 c& x! v6 }0 K3 B3 A* K  _

* S. @' V- s1 e' \[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,/ |& G1 L/ M$ _. ]/ o5 e& b' ~, T
应该是. x6 D: z; {- z% y0 Q9 h
ask turtles [
1 o# P6 h. B, U/ ?0 Kif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
/ k6 \# r6 N& ]# I                          set y  Dep / 2 8 |" z/ I: |/ f/ T9 ~
           set b  int (who / 5) * 5
  [; s: I  _  w. i- m    setxy ( xcor-of turtle b + x )
, V9 ^7 T& g2 X% w, J' D9 s' O          ( ycor-of turtle b + y )]]: U! K% _% g6 `& v9 \: s0 O
end
/ j2 ?( ?- y8 I1 |9 z之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-21 20:01 , Processed in 0.014794 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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