设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5006|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。: ?6 G2 t3 h5 n

. W- f8 \: \/ ]6 I1 R" }2 Z' u. a0 c但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
" w* `4 t1 U& i7 X' P/ F# d$ a8 d) X! _8 k: |; k8 z& ]8 q
turtles-own [a b c d k f g h' P1 F5 F4 D& u  O
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
, X" l" I2 L2 U& t]
) l, [4 X4 t3 D0 J+ rto new% M+ Q4 U5 w! k
  ca
& C  Y& T% T& W- C& @  a& w1 K  crt 5 * num_of_building, ~! R5 c8 c) J; W# I% A
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
9 O8 |9 I5 o( l6 `) [4 a: \  scatter     ;;keep center-turtle random positions
" i+ ^, Y8 N1 `6 H) _  unit_plan   ;;make up the building plan8 E  o! r5 N% P4 a6 H8 T2 m
end/ P* k3 C1 r! A  [
to scatter
! U2 h$ E6 a! |( task turtles with [remainder who 5 = 0]
1 M& T- E4 S4 @+ c( w8 H[
0 d# b7 h/ a) m: tset xcor xcor - 6 + random-float 15
6 {( E$ C& @6 V$ n( J! k) Qset ycor ycor - 6 + random-float 15
5 Z7 v, r9 v6 o) A]$ Z' C4 W3 X! ^1 S, {* i' o. E
end0 ^+ [2 ]- q( Q% t5 M
to unit_plan 6 ]3 c' g: s( W4 z3 z
ask turtles [/ L8 H; {  _' h1 E- v3 E; u
if (remainder who 5 = 1) [set a who 0 h; l8 s% X8 ]: o: G! J1 {
                          set x ( 0 - Wid / 2 ) 4 K; u( @% b& W# W. S- i! e' t# S
                          set y  Dep / 2 ]
' w, u& C# o  \" \2 D8 x2 ?: h/ S: w" M           set b  int (a / 5) * 59 j/ m) e% }2 C4 f$ E+ O! N) R, a
    setxy ( xcor-of turtle b + x )1 d, P* W* @# m) ^
          ( ycor-of turtle b + y )
' j/ ?/ G8 f/ [+ K0 Dif (remainder who 5 = 2) [set c who8 j, c/ A/ z7 F+ v. W( I" ^% R" r
                          set x ( 0 - Wid / 2 )
" O$ w+ w! H1 l5 `2 @) O: ~                          set y (0 - Dep / 2 )  ]+ r6 b; P  Q5 y7 E7 @8 ?! Y
                          set d int (c / 5) * 5
- r& q0 J$ D% j+ H   setxy   ( xcor-of turtle d + x )
! e0 A- d! R8 Q2 e9 v" C           (ycor-of turtle d + y )
( B/ a3 t" K2 `0 v$ M9 `) M         
) J2 `& e8 E0 q8 G& R- {& z            : S; q, _1 [- j$ }; j
if (remainder who 5 = 3) [set k who* v/ W; H; P) I' g! J" R. C7 B8 \
                          set x( Wid / 2)  
( u4 S! b6 p/ C# S                          set y (0 - Dep / 2 ) ]
4 L0 S$ B; A. y                          set f int (k / 5) * 5
: S) \* e# H* J' h6 J& \  setxy   ( xcor-of turtle f + x )8 A% y/ t+ e5 ]( {
           (ycor-of turtle f + y )
- r6 o8 a/ X/ o% P0 [( v           ) ]  ~8 T0 B& p1 ?
           # ], g$ }' g) t& f) D6 H
if (remainder who 5 = 4) [set g who
2 Z6 i% ^) j* i                          set x Wid / 2 2 \/ ^, P8 ?9 M+ x! S6 P
                          set y  Dep / 2 ]
  {; Z' S2 s% G# Y                          set h  int (g / 5) * 5
( q2 j  P5 M5 o5 n2 M6 A  setxy   ( xcor-of turtle h + x )8 i# }1 c9 ]) K. p4 p1 ~
           (ycor-of turtle h + y ) - _; m" {. |* s; }; `8 {% q" @
                          
8 ]6 X1 r4 h7 y- ^                          
5 S; [* o! u$ n                          ]8 |4 c1 b( r' D) y' l9 H
end
' Q$ y* h7 D6 j8 t+ |$ t7 t& S% f1 R8 V2 Y" w# T0 q9 n
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! i7 o' D& T, y4 f
应该是
& V1 V( |& r1 j8 z. P. m$ e0 R( Fask turtles [8 n* f/ f/ K- A/ U7 X
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
, I+ Z+ \/ R( Q1 W/ x5 Z/ F# g% u                          set y  Dep / 2 2 Y- k' d2 z  g) Z
           set b  int (who / 5) * 5; o1 B7 {; S+ Z3 v
    setxy ( xcor-of turtle b + x )
" M, ~! y* ?  s$ p          ( ycor-of turtle b + y )]]" G$ ]% C4 B6 \, u# H
end% L1 l- C" r& i/ N+ O/ x
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-1 23:34 , Processed in 0.012355 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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