设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8453|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。5 v: p. b  [1 k; |- T
! @* P8 X6 ?) a/ C
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
- w" w9 m8 {  t/ G# _/ u" V9 j: z" @" r- ^
turtles-own [a b c d k f g h0 D: J' j5 i/ j) m
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
( l6 a& t7 k) |]) d9 X) d. ~+ _4 v) \# Y
to new( H0 u% v2 R: s
  ca
. p3 I/ ?9 l% k: M  crt 5 * num_of_building
* J+ j; D$ ?( o: {0 G* Y  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
( O2 E6 t9 r/ s2 g9 _' C8 y  scatter     ;;keep center-turtle random positions
1 @; O+ ^) e9 p6 d  unit_plan   ;;make up the building plan' g0 v/ m6 t. o" J% C
end
' n8 j* ^; N4 J! p8 ~* \to scatter5 [0 G% |3 g- i3 k- R; g9 _
ask turtles with [remainder who 5 = 0]9 ^' b4 a1 Z7 y% f1 F& o- Z, g
[" Q1 }- X  _/ k2 @
set xcor xcor - 6 + random-float 15$ a9 W! [5 Q) l8 `
set ycor ycor - 6 + random-float 153 @! k5 R4 L9 y7 b& g0 }
]% Y% p- k5 k4 X1 p( s4 ]( l* p: w/ f1 L
end: Z) k5 d' V0 v
to unit_plan
4 h1 }. q1 e- f  ~ask turtles [% W5 O2 E/ I: i9 ?
if (remainder who 5 = 1) [set a who , `4 Z" |) D% }8 ]/ a" K+ E
                          set x ( 0 - Wid / 2 )
. I  s1 _6 P" P5 d- N                          set y  Dep / 2 ]+ F7 n7 f; Z% ~2 Y7 H2 `, x4 Q
           set b  int (a / 5) * 5& _1 B. ]* v2 C9 o8 J7 y
    setxy ( xcor-of turtle b + x )0 v1 n( M' n( j% G
          ( ycor-of turtle b + y )
# p; P, t. W/ V  y  r. Xif (remainder who 5 = 2) [set c who
5 x2 g, U. S) P4 u, S3 f9 ^3 n: d9 E                          set x ( 0 - Wid / 2 )
6 K" p* h0 E# S/ y                          set y (0 - Dep / 2 )  ]
4 H0 h( ]% o5 W! a, P; t0 ^+ W" V3 w                          set d int (c / 5) * 5! ?5 |! z: X  o' v$ |9 k7 v
   setxy   ( xcor-of turtle d + x )9 ~! j1 p: O/ r: n
           (ycor-of turtle d + y ) 5 e6 t) ]1 R( ?
          . s# @4 g* s) R) G+ C# }" b
            
% B& V& }4 v, m/ E, fif (remainder who 5 = 3) [set k who) R) j4 J; w* b! v9 B
                          set x( Wid / 2)  & g9 x$ {# q! p5 G1 D/ w5 e
                          set y (0 - Dep / 2 ) ]6 J4 D, M) u3 Y1 ^' R$ H
                          set f int (k / 5) * 5  v1 ^) e3 I: |
  setxy   ( xcor-of turtle f + x )
% u) b) s/ U$ H) [2 Q- o5 O           (ycor-of turtle f + y ) ) m2 k- l4 ~/ Y5 }; K; k
           7 C1 A! B4 X/ ^* M: |# M
           4 g! N8 I5 [/ S1 C9 @1 @# K2 d1 t3 Y+ E
if (remainder who 5 = 4) [set g who
- o+ b/ ^+ n! I! f; M- w                          set x Wid / 2
0 Q; I, Q% f) q" [, k                          set y  Dep / 2 ]3 Q/ b) f5 l, z# Z! n! O! b
                          set h  int (g / 5) * 50 ?; c+ h( H6 p7 k# x! k
  setxy   ( xcor-of turtle h + x )
/ [: @8 @$ j. X4 S" w           (ycor-of turtle h + y ) 5 w5 d! C; i# I0 `: @$ G
                          $ n0 l# ]- Q' k5 E/ E4 k: `
                          , ]+ E% R% O9 u9 }4 C6 T2 G$ y
                          ]$ l4 ?- t8 |* o7 q4 o: i* \2 m
end. |- P) U/ y: t

1 P; u  O' b, Y6 n$ E& ?[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,$ |3 k. R; V. W3 X5 N
应该是
% q/ {% ^1 ]8 ?' _1 bask turtles [  V7 i4 N5 X, c  z( k9 @
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
  K( Z' h" x: \! t2 F                          set y  Dep / 2
3 W) \' y' M4 ]  A  t  H+ }& R           set b  int (who / 5) * 56 X0 Y, X9 l! {8 o8 X1 b) U
    setxy ( xcor-of turtle b + x )
" j- \9 q' \1 g3 ^' h          ( ycor-of turtle b + y )]]5 C! ]6 x3 d! k: y3 v' [
end0 A" V7 C$ S& S, j9 b
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-28 04:54 , Processed in 0.014996 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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