设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8656|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
1 v! x, J* U) i& ?/ `8 z
; q( f, i, T: m4 ?8 p, y但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。$ C2 E7 v" Q( I
/ h6 c1 T8 ]; k
turtles-own [a b c d k f g h
& ?. O: f. G' v: I  x y     ;; these are the leaf-turtle's offsets relative to center-turtle $ Z9 O' K9 z# c5 Z# c% Q
]% x9 l1 i" S, |* T1 X
to new  P0 Q5 z: o7 j3 Y4 M) u# J8 r
  ca( s- c5 F5 N" ~% ^, I) }" S5 k1 x
  crt 5 * num_of_building
1 q% f+ k+ t6 @# a  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]* [1 B, t/ S! L8 i( S. D1 [
  scatter     ;;keep center-turtle random positions 4 a7 w; i1 l( R
  unit_plan   ;;make up the building plan
# m8 ?9 `- P" Q: h6 O7 Q9 ?  {end
" n* T) t7 E- k: h7 b) f5 W: Uto scatter" N6 m# t- X$ c' D# R# m
ask turtles with [remainder who 5 = 0]+ ~# L8 _# T2 G- k
[
. s! b" |/ P$ b5 `, U! uset xcor xcor - 6 + random-float 15
  _, Y9 Z2 V2 w, o$ U' aset ycor ycor - 6 + random-float 15" ?) b" `0 |/ g  r! j& ^, X
]( ?  L9 y: j4 o3 R; D: K) R+ S
end
2 j; r: F  c  q  |3 Rto unit_plan 9 B3 v( B: @# l1 ^( p, U. Q  ^
ask turtles [" \# c% p- `" @# N* o2 L. ?
if (remainder who 5 = 1) [set a who
1 o9 w: ~9 v5 y& j                          set x ( 0 - Wid / 2 )
+ t# P: ?) i) S- D                          set y  Dep / 2 ]" @3 `6 o. b  |
           set b  int (a / 5) * 56 o1 @3 {" a6 `5 ~3 G# v* R
    setxy ( xcor-of turtle b + x )
7 {# V3 p( b4 _0 W* \; K/ u          ( ycor-of turtle b + y )
% B! j! C( u2 o( t0 ^7 L/ Eif (remainder who 5 = 2) [set c who
5 R8 u+ s, S. }% l( V8 L8 x" Q2 H                          set x ( 0 - Wid / 2 )
' {6 ]7 T8 S( ?2 W                          set y (0 - Dep / 2 )  ]% W% k$ l3 b' F
                          set d int (c / 5) * 5
$ t' g7 `7 e; E0 N   setxy   ( xcor-of turtle d + x )
5 m# s3 h, g; n, d" @! @           (ycor-of turtle d + y ) & P7 a7 g; t  k$ e1 D- G8 A
          1 C+ u$ z& E  I0 n0 q# o9 |
            
: m: Z( s0 t6 P1 ?) j1 qif (remainder who 5 = 3) [set k who
) D1 T5 M" k5 i                          set x( Wid / 2)  
2 }' k% [- n4 D+ ^                          set y (0 - Dep / 2 ) ]1 n" z9 T, l6 @$ L5 |: [# ~
                          set f int (k / 5) * 5! Q8 L3 e5 f1 b
  setxy   ( xcor-of turtle f + x )  c. k0 R  K8 W, L
           (ycor-of turtle f + y ) 8 B$ T/ Z& d. O, m+ O* i8 h. a' Y
           9 X& _. Y9 i& ^9 P9 m3 q/ i+ W
           
1 d. C8 ]% p) N7 C7 n9 u4 {/ l# Kif (remainder who 5 = 4) [set g who
; q# z9 X- @6 z0 E0 h                          set x Wid / 2 " Q6 S8 X8 c7 R& T
                          set y  Dep / 2 ]
% n- _) q& |, {  i, _3 a% {% j8 E                          set h  int (g / 5) * 5  E1 Z/ I. G* _/ @8 u* q
  setxy   ( xcor-of turtle h + x )
$ F1 Z5 J0 Q' r0 k: h# H2 o  f           (ycor-of turtle h + y ) * l7 s5 j8 ^+ c8 h, H
                          ! g$ H& F* `, y0 r& d* G' Q
                          
+ O" v$ H# @* l* X5 M) v# i                          ]
9 k% `0 D: z" W! {3 A9 @end
, _, N5 \' Q" r. b9 F1 m  [& q+ t3 N. z5 |6 O$ _
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,7 R& i- j. S8 X6 N! l
应该是& @9 t. P, N5 _1 r
ask turtles [8 d/ f) R5 z1 H
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ( P$ [( U  b" k9 V$ ^  h" |
                          set y  Dep / 2 ' w5 p: F3 r3 q3 J* p3 S
           set b  int (who / 5) * 59 j& e) f: `8 z- B
    setxy ( xcor-of turtle b + x )4 u& [3 z2 i1 l& @
          ( ycor-of turtle b + y )]]3 G2 m/ x; x+ o+ x
end0 k9 S* z, W, B% M) G: H) ~
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-20 20:29 , Processed in 0.016499 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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