设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8377|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。1 T+ N/ k! ]) e% F# z  g9 Z

( E" X6 _9 H9 Z& b5 e. m/ j但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
& M3 P+ |+ [; l5 t" p2 O
- L2 U' j$ u  k! Zturtles-own [a b c d k f g h
3 n2 Q4 d' Q6 E: f  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
" t2 z* p  ^% ^% E. \* S- e]
0 V" H2 Z2 i. C: m* j; [1 }$ O4 ~to new# y2 e3 S. z) O
  ca3 a0 Z. F1 X; q7 F" {
  crt 5 * num_of_building7 i  X7 ~, e# O" r" ~5 k
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
! L! o/ D; r. k) z) y* L  scatter     ;;keep center-turtle random positions
6 I& |/ ~6 K) b4 n  unit_plan   ;;make up the building plan1 O  q0 @5 F. M' s/ X
end. a& ^- a' R* _  H1 t' j) e: G. v& F
to scatter
5 E" S' z- i9 _ask turtles with [remainder who 5 = 0]
& ~( h  Y$ |0 N[, ^" y1 ~! ]9 T- h: w' U0 V
set xcor xcor - 6 + random-float 15
1 b  X6 Y+ M* u; oset ycor ycor - 6 + random-float 15- S/ v7 |/ s) ~* W8 T' l
]
  L( j1 u& Q2 E3 Hend
( j8 n6 F6 n+ i1 |% s" ?. ito unit_plan " O* `! R9 l- v8 i2 R1 i  D
ask turtles [
' l. Y! x+ T+ ~  |- J( ?if (remainder who 5 = 1) [set a who
- H: t& K' x; h1 t" n. o5 {4 _                          set x ( 0 - Wid / 2 ) 5 {+ C* X! w( Z# x' r' @( b& P
                          set y  Dep / 2 ]; g! E2 t& Q0 b8 [0 V8 c
           set b  int (a / 5) * 5
3 l8 Q, u9 @/ S8 i9 I0 O' e4 O6 \    setxy ( xcor-of turtle b + x )" j+ X5 L* d. _* o: w- u3 V
          ( ycor-of turtle b + y )( k$ T- E1 _0 r2 H1 m* E
if (remainder who 5 = 2) [set c who
! U& L, c& ?+ }                          set x ( 0 - Wid / 2 )
! B7 [4 z2 X7 u0 W9 k0 [                          set y (0 - Dep / 2 )  ]; t3 D! O* r# O& S" z& B
                          set d int (c / 5) * 58 D# V% G0 d/ [1 U
   setxy   ( xcor-of turtle d + x )) s7 v, T1 [) S3 C( F" q3 r  E
           (ycor-of turtle d + y )
2 I4 C; j) f" Z  a5 n         
. n7 c, l* H+ b9 v. U            ) G/ f$ f' J' e4 K0 n
if (remainder who 5 = 3) [set k who
2 r* y1 \- T/ S0 @                          set x( Wid / 2)  
, M4 j% v, b" t- k! i                          set y (0 - Dep / 2 ) ]
6 W' r' n2 K; Q  \$ D                          set f int (k / 5) * 5
2 V9 s3 Q% c3 g+ u6 {  setxy   ( xcor-of turtle f + x )9 ?" m; a* W% L2 L) f
           (ycor-of turtle f + y )
( @  ^; b5 ^. C# q9 i           9 S( z  ]8 c: h1 u9 [8 a3 t+ V
           
! v( ], n  s$ z2 N# s+ o2 F# Oif (remainder who 5 = 4) [set g who
+ r5 f2 y( n' @                          set x Wid / 2
6 Z# ]+ v' M- T5 X$ G                          set y  Dep / 2 ]
. }; [+ c& v3 ^& c0 s* J7 }- F                          set h  int (g / 5) * 5
' j# R3 r/ F0 ^& }  `  setxy   ( xcor-of turtle h + x )+ R4 ?' F/ V0 E
           (ycor-of turtle h + y )
. \% V  `$ R* A7 s9 {5 f                          5 Z: m2 K2 h3 F# o; j
                          ) ?4 H* X3 e$ Y6 ], C
                          ]( \' X0 Z* H- O$ z& D* q
end
9 m2 b! G7 ^" P0 p
6 q- B8 I5 ^3 d3 R' \' O3 t+ Y[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
5 u1 I' p- f* M1 p9 z/ A, E) }应该是$ }7 T+ @4 B# ]% ]4 W8 m1 h  }
ask turtles [3 G9 F' I" L7 D3 o6 a! S7 G
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 0 \9 G6 W# z% R4 y
                          set y  Dep / 2 8 o( l& E. O' h& b" W
           set b  int (who / 5) * 50 K) G4 \" W' Y8 \1 H% h+ z- S
    setxy ( xcor-of turtle b + x )
$ o' M  q: l4 V" K, b6 E4 L% a+ }7 B+ q          ( ycor-of turtle b + y )]]$ p1 V! D0 }3 A
end
' t) @3 z. [- u& |之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-16 21:48 , Processed in 0.012555 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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