设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8002|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
0 s' F. {, m: a  F6 Z9 o" H6 M# |# m- E; j$ Z: ^! d" p/ m9 H
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。0 J8 A$ P$ K/ O3 ]: e8 j

; A' U# J8 B: {turtles-own [a b c d k f g h5 H* f8 U, l7 \! I0 ^$ F" d6 K
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ; B+ N9 \' g5 T2 z# r  l( K: x% J( ^4 l
]
# K, H: D$ x6 u; fto new
$ R9 r8 L( L5 M3 R1 |  ca- U! E2 |  k* {( C: O
  crt 5 * num_of_building$ B# L& m4 u" a8 ~7 m0 o/ \2 T
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 _) |5 L; B  a* \( X. o0 |  _$ m
  scatter     ;;keep center-turtle random positions 1 m3 j9 S4 Q1 S9 B" }! p0 ~
  unit_plan   ;;make up the building plan3 @) K  }" {* O! d1 G
end
1 o4 W& s9 S& e4 I, @2 \- w7 Pto scatter
/ j% r3 V3 T9 n4 s% Z! kask turtles with [remainder who 5 = 0]
3 b; X: b. M8 u' x( V3 e[" m+ O1 a. ?  @9 S5 ~: g/ B
set xcor xcor - 6 + random-float 15
6 H# S1 o) Z2 q4 J  V4 i8 l2 k$ ^set ycor ycor - 6 + random-float 15/ r8 [8 Q9 x. F+ N6 F0 J3 F1 b
]/ D. r3 T) ]2 z  U3 i
end: b: M/ }" v6 _! ]+ J' Q6 f+ E3 E
to unit_plan " v1 [" r5 Y6 M  o- s7 G& t
ask turtles [" C' V! D# i2 B
if (remainder who 5 = 1) [set a who ) J# E+ O2 {' Y1 L
                          set x ( 0 - Wid / 2 )
9 P  m: S3 P% Z' A                          set y  Dep / 2 ]5 r$ D3 l+ G$ Q: M9 m
           set b  int (a / 5) * 54 @8 O3 q$ p* k* P& G# F( F
    setxy ( xcor-of turtle b + x )5 w  U2 Z" l/ z; K; v9 F2 h# R
          ( ycor-of turtle b + y )
( n6 j2 ^! q2 k8 D, c3 {3 y, O; Hif (remainder who 5 = 2) [set c who( i) I9 j% M" m7 G0 W! F/ l) A% x
                          set x ( 0 - Wid / 2 )
& Z* ~/ ~( w' _0 Z9 }* s5 ^                          set y (0 - Dep / 2 )  ]
5 a9 I( s( W/ F  B/ y                          set d int (c / 5) * 5! q! g+ \  ~6 ~% e- C- R$ P
   setxy   ( xcor-of turtle d + x )% g4 W( u1 N5 ^' b
           (ycor-of turtle d + y ) 0 W' @2 v1 D) B# {" m4 L
         
- G. ?! K; g: L( e            
3 {( E) ~2 Y$ u7 J5 P: k6 vif (remainder who 5 = 3) [set k who
7 d3 n! \: `# Z: d                          set x( Wid / 2)  0 R. Z) V7 {5 D5 h; ^" p+ m2 |
                          set y (0 - Dep / 2 ) ]; V' }) q) h# `# A% [) d
                          set f int (k / 5) * 5) C7 ^( G, U$ Q/ y$ l' C. C, _
  setxy   ( xcor-of turtle f + x )
" J/ d5 D8 Z1 D9 p8 G           (ycor-of turtle f + y )
2 o; u9 J. \4 _* _% \9 h5 P7 V           
4 k, l. x1 [' H           2 v- M; O6 x: ?/ R. w
if (remainder who 5 = 4) [set g who0 B1 t* q! h7 D2 K6 ?4 y) ]2 k
                          set x Wid / 2
' b/ ], w/ v$ Y6 H                          set y  Dep / 2 ]! \3 D  c7 k) r
                          set h  int (g / 5) * 5. \" P- Y, `0 X- w6 U5 B
  setxy   ( xcor-of turtle h + x )  G, p8 L. i, Y" z3 w# T7 E9 X
           (ycor-of turtle h + y ) 8 U- ]4 L; f! U3 i" P) q" r, p
                          9 c5 G2 ]; @3 K6 g# y& c6 `
                          
2 r( q" t( p: M- q4 ?. B                          ]/ T% ~" m: j0 y% s: ]' x
end
4 d4 d1 c4 P" ]! X3 r/ u0 v
6 ?4 o& i% o; K6 N[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,# d5 F1 m! [/ ?
应该是
# N; _% E4 q6 v2 Fask turtles [3 q  B! r) X) a' T" ^/ b
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) t* b, z2 [8 i8 k
                          set y  Dep / 2
% E- J" r- v; N! `7 G           set b  int (who / 5) * 5$ Z$ U' f! y7 J% |" p* J  f
    setxy ( xcor-of turtle b + x )! ?+ _* Y8 Z: k2 N
          ( ycor-of turtle b + y )]]8 O; @6 T( g' c
end
; u% j- G5 g/ O9 D2 L2 X% v& Q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-27 15:28 , Processed in 0.019940 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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