设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7617|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。' d0 c: S6 N7 Q

# b" f4 t6 _6 l6 G/ |+ X1 `但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。  d; G" R- D4 M4 \) o/ {" ~& ]2 D

1 Q- _/ i  K! }* f9 _turtles-own [a b c d k f g h0 o9 t" _1 X1 }+ ^3 ~
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 E# y# d" c$ H
]0 z" I; Y& [4 A0 o9 |& [
to new7 }8 X9 K! Y/ y; Y5 I  l! e
  ca
  e  h! g8 Y8 O8 U+ i3 g$ p( Q  crt 5 * num_of_building8 K, _2 v( `6 X8 h1 s5 _" @
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]0 \' f; V" e! L& r5 C$ H
  scatter     ;;keep center-turtle random positions
6 z, Z: d# {' K! j  unit_plan   ;;make up the building plan6 R+ ]: g& P; J6 O; G6 Y- a% |6 P
end$ ^7 M$ o* P. b, z+ j. e! q0 W
to scatter
' t( m7 s) ?8 u4 l2 M0 nask turtles with [remainder who 5 = 0]
7 \$ k$ k7 p9 E" s& p" U[
9 |6 G* e* J1 C5 @  Nset xcor xcor - 6 + random-float 15
' @$ _3 l8 x- a+ ]set ycor ycor - 6 + random-float 159 O- H; v. |2 u7 p( w
]
8 f5 c) D. f. ]/ k( ^. p% y" ^end. P3 ~$ l- G4 P4 h
to unit_plan : {& j9 j1 T4 p" A* S8 }
ask turtles [
" r) E/ Q3 G( \if (remainder who 5 = 1) [set a who
. U% d5 S+ S# e                          set x ( 0 - Wid / 2 )
0 D  U& B( k! a, A8 j                          set y  Dep / 2 ]
+ C) N' l% D1 R/ j1 r8 |/ D           set b  int (a / 5) * 5
/ ~7 w" J/ U1 }  u    setxy ( xcor-of turtle b + x )
: e. l/ t% Z9 U4 }9 z+ a- O          ( ycor-of turtle b + y )5 }4 i; a1 i/ m& d( u7 c+ \
if (remainder who 5 = 2) [set c who
- B8 b3 F  V% z: ~0 r' I8 R                          set x ( 0 - Wid / 2 )
! e/ |5 v0 H7 e1 D                          set y (0 - Dep / 2 )  ]
0 h6 L5 a" A' e. H                          set d int (c / 5) * 5/ z. |& |, y, N& J& J
   setxy   ( xcor-of turtle d + x )
8 y! ]5 T; J' I% [           (ycor-of turtle d + y ) 2 Y9 d2 `  i" @1 R: E  D5 Q1 q7 R
          4 f8 k& n$ a+ f' H0 R+ j4 `7 M
            
4 u( `' P' `# }3 t4 pif (remainder who 5 = 3) [set k who
  g. E" A1 ~; s4 K4 k8 w3 N. W  D4 V                          set x( Wid / 2)  
8 o. M6 S  E8 ?) Z                          set y (0 - Dep / 2 ) ]* t8 q% z- m7 ]  g& C. C% y, y
                          set f int (k / 5) * 55 d/ Y- b# D+ Q' h; `* f1 f) l
  setxy   ( xcor-of turtle f + x )
1 p! \& m. p- d! o           (ycor-of turtle f + y )
+ g5 G9 N) K- M* O+ ~3 w, a0 h           # h( B: w: _' Q
           
2 F" F0 R/ b* T) pif (remainder who 5 = 4) [set g who
' v' E# o' x( I; c                          set x Wid / 2 , `4 S; ]: [' s+ h
                          set y  Dep / 2 ]
+ T/ u$ C0 J& Q: y' w                          set h  int (g / 5) * 5
/ ?0 I7 Z$ v* V, M0 j  setxy   ( xcor-of turtle h + x )
1 ~1 T+ q  U  N- ]" O           (ycor-of turtle h + y )
7 ?' e3 w7 G9 m                          ; P6 c- J6 G( K" }
                          
5 u. M; N/ D( ~& O/ B1 J                          ]
# q- l0 u7 u8 T4 tend  U7 b* N" D& C4 @9 R+ S
5 j. h6 k" ~( ^) Z! g
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
8 c8 f. o2 ]& p2 D: m. C* W应该是! _: I- a# x& B& x
ask turtles [7 T5 x* l1 P# |2 Z5 O3 M3 \4 k$ v
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
: m  o4 ^7 v. p                          set y  Dep / 2
9 b, x" n* f& s" W* B           set b  int (who / 5) * 5
4 l" V1 s2 l' E  B; j$ W7 S6 j    setxy ( xcor-of turtle b + x )
+ B) u, }( j* R: L. L! h% X- o# k  Q          ( ycor-of turtle b + y )]]/ Q+ g& F6 ~9 i8 t* i  ~. }
end/ W& Q$ c+ J: X+ T( {. y
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-6 04:12 , Processed in 0.014781 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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