设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8189|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
% ~* ?: ^( k+ ~8 e! Y% V( _6 j1 s' D' j9 j- t( R
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 R0 g9 a% o* \% h
6 @+ K. d8 `5 Y1 l& ?
turtles-own [a b c d k f g h( G5 \. x6 J% I5 D9 f
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 4 B4 S2 n+ ~8 I  K# c" e
]
5 m6 x' \/ O2 F: k8 s+ \5 cto new
0 p9 N' {* ^( T4 R6 j  ca
6 p* x. C! Z: c  crt 5 * num_of_building
% `3 _1 i1 J7 R, y- W$ I' }7 S( o  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 v+ G$ M  M# d" \
  scatter     ;;keep center-turtle random positions 8 `9 L# \3 h. Y. D1 J6 Z  W
  unit_plan   ;;make up the building plan
; [( O" L- x' |+ c# _end
5 |. M# d& c/ ~# ?2 T; ?, Ato scatter# \2 j8 _+ [4 K
ask turtles with [remainder who 5 = 0]1 q5 o9 Y1 s2 T* G, _
[5 R3 T! R+ ]$ c. l0 _9 v
set xcor xcor - 6 + random-float 15/ b0 D! q8 o$ {# M" ^% z" T+ r" S
set ycor ycor - 6 + random-float 15
& [. j9 P8 z/ ?; `]
8 z$ |) ^/ ?( @5 w$ J" eend: T  H1 c" e7 H  D) Z
to unit_plan
/ W0 H( _4 H2 {$ E- N4 o" task turtles [
4 n* g2 {! U" A3 B% G+ m/ ^0 Y% oif (remainder who 5 = 1) [set a who
: j4 y% I$ U) @5 u) j1 D                          set x ( 0 - Wid / 2 )
* w1 }1 v3 W: d4 u$ i& ~                          set y  Dep / 2 ]
1 y3 O# l0 m- S# U+ y: C2 r           set b  int (a / 5) * 5
- e" ?6 U6 @7 Q2 i* D    setxy ( xcor-of turtle b + x )
0 i% g" N: f- z5 p6 X! D( b! U6 A          ( ycor-of turtle b + y )# X1 t/ s2 I9 x: y8 y) z
if (remainder who 5 = 2) [set c who
6 y. X7 h' f+ _: [- @/ L- }: ^                          set x ( 0 - Wid / 2 ) 8 n$ |# V; {' ^. y# U
                          set y (0 - Dep / 2 )  ]" F. o+ M9 W5 z* w4 E
                          set d int (c / 5) * 5* e: S6 `" _: e% r* j+ S2 @
   setxy   ( xcor-of turtle d + x )
, l; l$ W& s! g5 V- h8 Z: g; t" l           (ycor-of turtle d + y ) ' A* }- H0 N& W' {3 K
         
* u  R% ^7 ]$ ^- L5 Y; P/ r            6 V' O; ~. q3 o
if (remainder who 5 = 3) [set k who
2 `) I* p7 x$ ^% u" Q! L# m                          set x( Wid / 2)  
7 [* H1 E' t, O" r" b3 }                          set y (0 - Dep / 2 ) ]4 p% A' w5 O/ M- ^' H
                          set f int (k / 5) * 5
5 i* x. W3 o5 q, Y! X- a0 R  setxy   ( xcor-of turtle f + x )$ o$ J5 e$ E' j' g2 ?2 z# H
           (ycor-of turtle f + y ) : H9 p' @7 m# n% Z2 k5 m
           ; u' b' j* x" b; j' j. n3 Z
           8 K" {7 U. l8 _# g0 I2 X
if (remainder who 5 = 4) [set g who
2 I2 _4 l4 T0 H9 I4 ^4 p0 ~                          set x Wid / 2 . w1 z3 c- _) a
                          set y  Dep / 2 ]( j+ r! R  T: l7 Q9 c
                          set h  int (g / 5) * 53 m) v8 w" E% w+ G9 Z. E
  setxy   ( xcor-of turtle h + x )1 Q5 ?! C( o- c2 E
           (ycor-of turtle h + y )
4 p/ k& F7 _5 |; `                          
& K& o8 {4 y4 O* \* W- m- a9 j3 R* F                          
1 C3 s7 i7 {- {5 \( l! y                          ]6 l6 J: c: y8 X
end
- `" f0 w- W" m
8 D+ a3 K2 R$ `* @: i[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
2 N3 a$ k( {3 Z  S2 G应该是
  ~; N' D( M0 aask turtles [( k8 m+ [. l( ], T1 j# H/ p6 I
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) : X& y. N  w9 s3 n7 C* B$ v! ]
                          set y  Dep / 2 + x' N8 Y8 `' P; W8 I4 j* X" @
           set b  int (who / 5) * 5+ P  a7 E" ~4 `" p$ U
    setxy ( xcor-of turtle b + x )
9 ^/ I# ?! S  H3 O          ( ycor-of turtle b + y )]]
. K- E: n1 q, a( n1 Nend
; `( ^& q& |. h6 Y. w, v之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-16 08:04 , Processed in 0.017937 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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