设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7576|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。7 y- k, n9 z/ C5 _5 A2 g2 \' Q

' D2 q( E, N+ w' s但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。5 v4 @, j4 Z8 w( s' b# H# F" ?
  E, V/ g; `# _1 s) z
turtles-own [a b c d k f g h% V' Y8 K" R" @/ g, C1 m: h, {
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
3 N5 D# H# i5 q5 t0 f- r5 P]
, W8 J8 }( w; B" ~& A- Yto new
/ N- f5 D7 b' ~/ W  ca3 u' X8 J+ A6 z0 r
  crt 5 * num_of_building; @; n# z. a8 O: s7 \% K, R
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
! L- k8 }9 L+ u6 K5 ]6 L  scatter     ;;keep center-turtle random positions
0 V% I" g; n* j: o7 |' f- Z. q% V  unit_plan   ;;make up the building plan
6 d8 e+ S: r2 [+ i3 F8 g; ]end2 Q9 S% Z' _* T# a' w/ M
to scatter
) z4 b2 _: e/ Pask turtles with [remainder who 5 = 0]
2 e1 ^  M- K/ }# w+ ~[' F/ D; ^: `# R# p. j# `
set xcor xcor - 6 + random-float 157 F4 {2 `% ^6 X0 B, C! w
set ycor ycor - 6 + random-float 157 \' G% O  ~4 h% U. [
]. i* T" j8 N" r. p  Q# C  i( [
end1 q* C+ U5 M2 R/ z* Z
to unit_plan
& R" Y8 B" s" ?- f! T1 h* gask turtles [7 }( l  t) q0 _5 L( b
if (remainder who 5 = 1) [set a who
9 d/ X' E) I& T% Y( F                          set x ( 0 - Wid / 2 )
/ {, K) I4 K# V/ J# `! I! \                          set y  Dep / 2 ]$ D$ K' {+ y+ Q
           set b  int (a / 5) * 5
" {. v3 N2 O* C/ k' p    setxy ( xcor-of turtle b + x )  R% x- {$ C' b% w; `
          ( ycor-of turtle b + y )5 X! ]8 W, C9 X6 G
if (remainder who 5 = 2) [set c who) P7 a  I+ r$ q) e. G* D8 v* `1 @
                          set x ( 0 - Wid / 2 ) & z& Z) c; `) d4 S
                          set y (0 - Dep / 2 )  ]+ X. l) \1 a1 c' x
                          set d int (c / 5) * 5" t7 i! L+ y9 z0 M% p- Q
   setxy   ( xcor-of turtle d + x )
: q* c2 F5 X9 \1 h8 S8 S( j3 U           (ycor-of turtle d + y )   d/ V1 Y" ?2 ?5 R
          5 O! R9 E+ R7 G/ |- x
            
9 R8 w9 e/ G4 `& m) ]8 V2 dif (remainder who 5 = 3) [set k who
  W/ V- U6 h* Q& H: Y                          set x( Wid / 2)  ; a  P) x: h; y' B
                          set y (0 - Dep / 2 ) ]! _4 @0 c* Q( j9 R( ^2 X
                          set f int (k / 5) * 53 }) F, O5 K% I, B  C. @. a
  setxy   ( xcor-of turtle f + x )& \4 y+ U. t) K
           (ycor-of turtle f + y )
: L& W# o* r; m( E7 }, S3 g           8 `! k8 O  F" q: Q1 M8 ~7 O
             h5 F+ Q+ n6 n( O9 R  a
if (remainder who 5 = 4) [set g who
# B. }8 D; A6 ?$ @7 e/ Q                          set x Wid / 2   Q* S  q* q7 }
                          set y  Dep / 2 ]( X+ V: z0 ]0 K( U* Y5 z# w
                          set h  int (g / 5) * 57 |+ x5 `+ i$ ~; q
  setxy   ( xcor-of turtle h + x )
/ Z# J7 \  c% h4 q% d           (ycor-of turtle h + y ) ; o$ V# `: z7 F1 M# a
                          ) J) B; `/ Q, }. y3 l% B0 L
                          7 j: P) L# y) U2 v
                          ]
6 v" i* v2 z% C/ z- k; t" g4 z7 kend+ a: H) ]* V5 M1 D

8 \$ }0 Z" x( z  @3 a  D( ]) H% a[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,, t1 u+ D% `2 v7 {2 x, R
应该是
; X: ~2 y. v1 Yask turtles [
+ U1 D2 a+ D" H1 C$ V; a$ g8 Jif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 5 s! K' O! J  v$ {) u( n' r
                          set y  Dep / 2
$ C- T' q3 V6 g; U2 _; [: f/ S1 T. T           set b  int (who / 5) * 5+ G/ s; [" X, \, w
    setxy ( xcor-of turtle b + x )
, N6 V8 K) e7 A; D          ( ycor-of turtle b + y )]]/ Y# S+ F: x* v! r' _  B. \
end
% n% l, p- {$ g* F3 o2 \: o* |. A4 Z* m之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-28 23:05 , Processed in 0.020651 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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