设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6928|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。. S8 v1 |0 L1 P/ }2 S1 l

( i8 \* \* v: u; l! Y但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
( L& T1 ?; q( q* @+ |! }7 S# D7 M; m+ Q3 M2 a. [
turtles-own [a b c d k f g h
; V3 k) Y& g: g0 ]9 l3 s' e  ?  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: }# Z" s& D1 k. F4 F( ~]
& X+ i5 k( @# X: Xto new" S- K. n" o4 y
  ca
; [; r5 U! m! o( \( o- q+ j; Q  crt 5 * num_of_building7 `4 y- z4 A% R6 V4 [% F
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]; Q2 q% I" I$ O! p  p3 B" B1 K
  scatter     ;;keep center-turtle random positions
- U5 g( @: p' x* q0 M4 }. i  unit_plan   ;;make up the building plan# B8 a7 @' N9 H- c/ k/ I( k' J
end
( ^2 U+ h3 d1 A) |7 U+ m4 v% @to scatter1 F$ Z$ D: a% r! l- m1 ^  y
ask turtles with [remainder who 5 = 0]/ G( y. n6 a# I
[
; M! P- y7 E& qset xcor xcor - 6 + random-float 15
! W, E, l5 q2 T, s/ F* D/ eset ycor ycor - 6 + random-float 158 F/ w) g9 T! |6 z- b
]
' ^$ q' x( [- Y) k: qend5 K6 D" u2 G, G8 ~7 e) l
to unit_plan
! |- ]5 ]6 g! U% B! task turtles [
8 B) s! G1 Z  K/ H% j% r/ X& R; qif (remainder who 5 = 1) [set a who
7 M& X, ~) Z1 c  w* K! w; @                          set x ( 0 - Wid / 2 )
, v+ a: W1 i8 c9 ?9 I, d: g3 |                          set y  Dep / 2 ]' V3 g# ]' E1 T, x
           set b  int (a / 5) * 58 _& z' q6 Q/ k8 Q2 e0 Y5 G8 @- T
    setxy ( xcor-of turtle b + x )
" e1 j3 G8 ^5 U          ( ycor-of turtle b + y )& W( F: L+ R6 ]
if (remainder who 5 = 2) [set c who# r) t3 d; ~+ n7 J; r6 z
                          set x ( 0 - Wid / 2 )
. d9 m. X. E9 p/ e9 G                          set y (0 - Dep / 2 )  ]
3 k, |  j7 i- m4 {  L& ]                          set d int (c / 5) * 51 c( X0 l( W, `
   setxy   ( xcor-of turtle d + x )
8 k: U/ T! q- d9 Q8 u           (ycor-of turtle d + y )   D% {) k  m' @  i# T" g
         
) S' Z: U1 ]1 z7 W8 }) t& o. ^            
8 _  X0 V& y' Fif (remainder who 5 = 3) [set k who
+ g2 z" `2 ^% m/ Q                          set x( Wid / 2)  + ^) `4 I: t" ?; q3 ]  L$ q
                          set y (0 - Dep / 2 ) ]
' n) Y2 J5 C7 M) ?                          set f int (k / 5) * 5
& ^* k6 V' x9 Q. J  setxy   ( xcor-of turtle f + x ). _3 e/ E, `$ l9 K  C0 Y2 n
           (ycor-of turtle f + y ) . O. H8 c! O" C- @% I8 f$ g8 V
           
' L- u' \) V4 B" e           * ^2 X+ p. [9 ]0 N' k" ?. ^: h
if (remainder who 5 = 4) [set g who- }7 N! n- l  X6 o! V/ H
                          set x Wid / 2
' s# _. C7 o4 L                          set y  Dep / 2 ]
. _" Z& M+ t- n1 e( ?" [6 Q0 g                          set h  int (g / 5) * 5
( t" b! ^) v% e% Z5 Y1 m' u  setxy   ( xcor-of turtle h + x )+ i% B  h/ n: E
           (ycor-of turtle h + y ) ) A2 K4 c( ~9 R5 Q/ i, W; G
                          ! T: M; J5 @4 [# A
                          
' e) q# Z# ]5 v5 e% A                          ]
! s  d4 V/ y' m: T+ gend  Z$ |3 s" H: i' f+ N' V" Y6 N

% Q7 [) y) X6 Q' y0 S[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,1 z$ r2 Y( K3 S# U- ~5 Q
应该是
2 `; @4 }( j: V4 e# I$ a) v9 Q- Bask turtles [  ~, c7 x* ~3 Q+ }- x& J
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 1 b1 J/ ~- K' S% {9 p! K9 n9 q
                          set y  Dep / 2
/ q+ S5 e! M( _           set b  int (who / 5) * 5; n  i6 K. Z& S& c+ m. k2 I
    setxy ( xcor-of turtle b + x )
7 B( y3 y: G) @& _6 i          ( ycor-of turtle b + y )]]
4 K. R( v7 q4 r% F4 jend: z8 ~2 F: ]$ R4 o* ?8 A
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-11 01:44 , Processed in 0.018852 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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