设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8187|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。8 ?* J/ q* K- b  X
& l6 v( X$ |+ E0 M4 o: t8 u
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
0 v# s, r: U2 o/ {$ g* ?$ y' e) d3 u% j
turtles-own [a b c d k f g h
9 y2 k9 r# Y3 k4 Z0 g; {; p  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 1 l1 f8 w7 K" I/ _" ^+ z/ }
]
- g: i6 m& O% ?, Vto new2 \& B" l. F! S: O2 \9 z5 e
  ca! ~" O1 |1 ~, P  o0 {( d
  crt 5 * num_of_building
1 B( s& V. r& L  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
" i) [! h6 p1 Q' ?  scatter     ;;keep center-turtle random positions ' Q% |) n% P& V7 `- \
  unit_plan   ;;make up the building plan# y8 c& W; x$ v  e* `  j2 T
end! \# |7 F8 Q$ `2 ]5 `
to scatter+ P/ p) m% `) d- j6 H% m
ask turtles with [remainder who 5 = 0], C3 ~9 p- l5 b  g  _
[" b* _1 s/ c; p4 ^& D
set xcor xcor - 6 + random-float 15
4 r1 I- b$ F9 }5 [& }set ycor ycor - 6 + random-float 15& O( z3 R' b, t1 Z
]4 b) u/ t/ i$ P  ?/ l# p1 W& L5 N/ o
end6 H( B- S( t6 [8 n
to unit_plan ; _% D* R. {0 ^; ~* c( b& V
ask turtles [% Q, T# t  T: d( F6 e1 r
if (remainder who 5 = 1) [set a who 0 Q4 A$ P8 ^: C) k" ^( w" T
                          set x ( 0 - Wid / 2 ) ) A( n; A; b; ^6 `7 E# t
                          set y  Dep / 2 ]$ s9 q. W$ L/ w$ U- r2 @
           set b  int (a / 5) * 5) A$ X1 S# _+ d2 C6 a
    setxy ( xcor-of turtle b + x )
+ u1 e4 I3 E; D! Y( x7 W/ k          ( ycor-of turtle b + y )
4 Z& Q: ?1 G, X, w4 G4 ~+ `! {if (remainder who 5 = 2) [set c who9 m; ?* Z/ u# l; V3 X3 d" V8 ^
                          set x ( 0 - Wid / 2 )
. `+ ^% q% p6 V! q/ I  q                          set y (0 - Dep / 2 )  ]
% d: k' k$ S- Y* @7 l2 E                          set d int (c / 5) * 5
7 @- I7 S. V4 p/ ~9 b   setxy   ( xcor-of turtle d + x )
8 P$ F) v$ r& p: U$ `  Z6 s  m           (ycor-of turtle d + y ) 7 v/ X; k6 J) ]0 `$ D1 y. ^
          4 Z4 z1 P, H4 c  b
            
5 a# w# q+ c; C- R. Kif (remainder who 5 = 3) [set k who
# o  @2 \. b; q9 O( ]& R                          set x( Wid / 2)  
( o; W' ^/ L3 h  y( Q% a8 w                          set y (0 - Dep / 2 ) ]
1 Y0 H2 p# }/ C4 s                          set f int (k / 5) * 5
: E" h* v% j* G& ~) i( S  setxy   ( xcor-of turtle f + x )
7 Q  G7 S6 `& t           (ycor-of turtle f + y ) 0 `% [$ P. a% m, D! v# S/ c  A" c
           $ L4 `! W( S: M1 c2 e/ |; R
           
+ ^$ i; R0 h( q# q  w) M+ uif (remainder who 5 = 4) [set g who& o# z, z3 J2 k, t
                          set x Wid / 2
9 i0 X. Y6 {$ F, G% k# v                          set y  Dep / 2 ]$ Z1 g4 O- V! @7 J1 ^+ B
                          set h  int (g / 5) * 5
3 B7 |6 q7 k& R/ N' `9 ]7 }  setxy   ( xcor-of turtle h + x )
* ]# z2 `; {) _. ^! P           (ycor-of turtle h + y )
$ K* z7 T2 R4 j. E  I; A                          
/ Y0 v9 j8 O( A% a6 O/ T, k3 W                          4 O7 `6 D1 e$ H) y5 Z3 S
                          ]3 Q# U, l" `, C9 n
end
8 a4 m* H4 w: c" m! x+ |0 P' U- \5 j7 a% ^- Q; z
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,4 H" g; J0 Q3 g7 `1 B1 Q. u0 ^' }9 Y
应该是  V9 b! k/ @, |) u
ask turtles [+ d" [. m. l; U7 }* N
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) " O+ Q7 z9 r# ], M4 c& H- e
                          set y  Dep / 2 3 B& M- {6 p6 F/ g9 n0 W2 W( m# N! r' a# e
           set b  int (who / 5) * 5" M* R( R) E/ E% H3 A! B4 A( Y
    setxy ( xcor-of turtle b + x ); e4 X6 ?/ k0 N
          ( ycor-of turtle b + y )]]
- [( R5 U' m3 lend
8 v! z0 z8 B; @9 H- h7 t之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-16 00:21 , Processed in 0.017445 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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