设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7516|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。) q5 E; J  V5 _- I- H3 D5 t
6 C6 u* b, q5 O+ g; g6 [7 H
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。) y2 C1 e! S- t, O! c) ^# Z# A: \
) n; |5 @  g: O; J( I  B+ m' ^3 f
turtles-own [a b c d k f g h! L! p6 J  |; V1 s
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; @' `, N+ S  B' f% n]
$ ^, L# ]6 F, |: s! Nto new" W0 _# m* @' d6 f8 Q/ A8 @
  ca4 h: }: J" D4 y) K3 d3 H3 }# n
  crt 5 * num_of_building7 X3 Y! O" Y" b1 e5 }
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 F  U0 l( d  }8 }( t# r" E
  scatter     ;;keep center-turtle random positions ' l& \) R  [. e1 f( o/ e
  unit_plan   ;;make up the building plan$ M3 T5 a* O5 A0 g) S+ I) @
end
7 p. U9 V( @# ?: ~; @$ Lto scatter1 [; ~8 }9 m2 i- Q
ask turtles with [remainder who 5 = 0]
* L2 K: @* P: R[: ?0 ~8 m0 \/ S0 Y5 r- ~+ H
set xcor xcor - 6 + random-float 15
. A7 F) m* X$ B6 a$ vset ycor ycor - 6 + random-float 15
; d) x% G1 D, t2 ?2 G8 n2 f  T]
5 s' c7 o% V8 J( z5 t3 Bend
; U' T7 W, ~# p8 W0 Xto unit_plan
" A* k- x' t" ]1 ^- Q- Bask turtles [
  ~: J7 l2 Q! Zif (remainder who 5 = 1) [set a who
+ U# m* m- {) ~4 J( O" M7 O6 ~                          set x ( 0 - Wid / 2 )
0 z& C& S! o1 |% z                          set y  Dep / 2 ]
- T) u: Y4 }: M1 l' E9 y# G( T           set b  int (a / 5) * 5, y7 t$ Z" t5 V: `3 ]; v
    setxy ( xcor-of turtle b + x )  h  q* i; Y/ g! r; ?- @5 f- N
          ( ycor-of turtle b + y )
' N+ ^# H5 S6 R8 c3 X, jif (remainder who 5 = 2) [set c who! Q+ s# a2 E* Z$ u8 \
                          set x ( 0 - Wid / 2 )
2 R1 Y3 b4 V, h& O: O; d                          set y (0 - Dep / 2 )  ]
; u1 J4 t7 j1 F* u3 y# t4 I% R) m4 v                          set d int (c / 5) * 5
- r  o1 I# y4 N+ {   setxy   ( xcor-of turtle d + x )/ O1 _) K! p  ^9 a) Z. p+ R$ x1 X
           (ycor-of turtle d + y ) 5 I: m3 F, E5 r9 h) F' v9 u
          9 M, Y4 B5 K) r! W0 h
            
/ }8 a, @& e6 b9 O" Lif (remainder who 5 = 3) [set k who
7 v' H: }: \! `3 q7 U                          set x( Wid / 2)  
% k" b" G/ f) G- q5 N4 N" e0 a# A                          set y (0 - Dep / 2 ) ]% o# g: p6 a1 c3 O
                          set f int (k / 5) * 5
$ e- h5 b* v5 \# ~& N  setxy   ( xcor-of turtle f + x )
9 K- m4 u+ U8 l: I; b7 t4 |           (ycor-of turtle f + y )   m4 l3 G% s! g2 k' p* |3 n0 x6 Y
             B* X) |  w+ _- C- d9 V7 j1 L
           ( z; d/ N! |' r/ y  ]! h
if (remainder who 5 = 4) [set g who) y5 A, b4 {; \- f5 X5 G
                          set x Wid / 2
- ]" {" g; [& C                          set y  Dep / 2 ]
& @" x2 }+ M5 C. u                          set h  int (g / 5) * 5
. v, i( A: Z5 t4 t: S  setxy   ( xcor-of turtle h + x )1 Z+ n( R) A$ Z$ V3 S- K
           (ycor-of turtle h + y ) 3 J$ \/ p. Z4 F$ M# z
                          # j+ v# @& l0 v3 `
                          
1 F' l, P1 }6 g7 p# H( J                          ]
5 c; i# C7 D& F# j# Z3 O% c1 I; o0 pend' Q: `8 O' D( L: `, B  q

, O  i  e' \1 f# [[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' }2 k4 G: |# s% ~$ L) x! j应该是/ L! S) j- @) d5 f) G
ask turtles [
& l* a: M6 ^- F) y( e; Uif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 2 G5 b1 }' A/ V" [; |) t9 o
                          set y  Dep / 2
, a2 Q7 F* ]2 P  ]           set b  int (who / 5) * 5
( u5 _4 b! J( h: r2 U# j  h0 V    setxy ( xcor-of turtle b + x )
) p. I$ z0 T9 m" n! C          ( ycor-of turtle b + y )]]
0 D+ C2 x; c  U1 Bend* V8 L  P- H* F
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-20 17:37 , Processed in 0.019564 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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