设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6993|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
" p; p; @- l$ s4 O4 }3 {, ]
, P8 Z; P1 j: v0 O" r$ L但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
, I( q% c. D0 G% N3 r  i; T$ j% {' g, f/ O+ d% o  O, |# j4 F
turtles-own [a b c d k f g h
/ ^9 L" I% |' W* d7 K4 k  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
% ~# j/ r" V" \7 G: O. G+ e& s( m]
% y4 s2 b) E3 c9 Vto new
  M0 n) k5 r4 R, q+ o) y- Z) U# u$ ]( T  ca0 J; _  X/ N! y% `
  crt 5 * num_of_building
+ w. d! ~9 K& P  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 v0 h8 P1 `% ^$ F. j/ p$ L  scatter     ;;keep center-turtle random positions
6 |$ ?6 C* i' }  @. l  unit_plan   ;;make up the building plan
3 x4 C+ p: H( Aend' V! x+ V- |) t7 K+ T4 G
to scatter
) V% H8 c' P4 [7 C2 y$ F+ h$ Y2 t; ]ask turtles with [remainder who 5 = 0]( n+ `; n' S* \  D0 o6 L
[+ s( D/ ~7 p5 s! t5 Z( Z) D( q
set xcor xcor - 6 + random-float 158 i1 w2 F* \" e& {4 q# C
set ycor ycor - 6 + random-float 15
" N* Z' f. F  U: F. K8 ~: w]
5 c; W  e4 I, A1 ?end* b/ T: w) v; n
to unit_plan & D, f: O$ ~4 I. s! a
ask turtles [
2 W7 \# u2 n7 I, k% vif (remainder who 5 = 1) [set a who 6 h, s6 m' v. B8 g2 o% o% V# q8 Z
                          set x ( 0 - Wid / 2 ) 4 y: T$ C4 X  `/ j8 f
                          set y  Dep / 2 ]' n$ D/ v7 n9 R' d& n
           set b  int (a / 5) * 5
: G. _$ h6 a. U* M  J" A    setxy ( xcor-of turtle b + x )
: w5 a+ m: ]+ `0 j1 |% T# c          ( ycor-of turtle b + y )
- Y( H0 \+ @+ m6 s. Z, V- M( p5 Sif (remainder who 5 = 2) [set c who
  V' W& H* g, \5 z8 Z                          set x ( 0 - Wid / 2 ) 1 U+ Z/ m& {  N' @
                          set y (0 - Dep / 2 )  ]
6 T4 |+ G" T/ Q8 ^; H$ M) |                          set d int (c / 5) * 5
) y$ o( v+ _+ d) k& R, P/ R   setxy   ( xcor-of turtle d + x )4 {9 P$ a* H( |+ G/ n
           (ycor-of turtle d + y )
+ I) U, [, |* S) [! D$ X          / W6 b  W) d( W! e
              P! D& z) t7 L. [# y
if (remainder who 5 = 3) [set k who/ t+ P) {. K/ S
                          set x( Wid / 2)  
$ k6 |2 b3 Z2 u8 y) `0 U# q                          set y (0 - Dep / 2 ) ]+ I0 `, H2 d: H7 f/ E) Y4 ]
                          set f int (k / 5) * 5# Y2 X3 f9 |: `" C7 ^% W. [" P
  setxy   ( xcor-of turtle f + x )
0 Y# Q; I) N  z           (ycor-of turtle f + y )
8 K! e' m+ e- m           
. L% j9 T' z7 |' K: o           
" G' J- p8 ?3 I+ \9 Uif (remainder who 5 = 4) [set g who
+ j1 n1 l; Q. f                          set x Wid / 2
. U2 o7 Z& G* K5 E; s5 s8 w                          set y  Dep / 2 ]4 r6 [$ F  H. N$ V; r7 q) m% f
                          set h  int (g / 5) * 5, t0 S, X) w9 p/ T$ _9 D) x% }
  setxy   ( xcor-of turtle h + x ). d, `) a! ~! `" B
           (ycor-of turtle h + y )
# y0 K2 w0 [( {! P- _                          4 d9 @* F1 ]7 m) k1 D. q
                          . k4 g. b9 A2 Z( j- q- k# R
                          ]
) G8 Q5 q* v! Y: z$ p6 |end
9 l2 t8 m3 |  r. P- Q
  M% `) D* |8 v[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,) F' U' r% O0 f( `! K8 ?
应该是
. ]5 t" a$ G+ G0 _+ _2 n. oask turtles [
$ v! y1 ]; E" \( t- oif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 c( q0 Q, i. ~& ?* @  ~5 c                          set y  Dep / 2 ( Z8 S& y* \. N
           set b  int (who / 5) * 5, n! j! N- }1 N- Y6 \8 U
    setxy ( xcor-of turtle b + x )
( |6 o6 p5 y/ h5 [' k( z/ w# C- b          ( ycor-of turtle b + y )]]7 P& u( U% j; T! B9 j
end7 y: N* d$ _" p& D: ?4 f6 }
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-15 20:40 , Processed in 0.017094 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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