设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7312|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。0 q+ x2 s, V* L2 h+ _

7 d3 \' d8 a0 X) H( W- o# k但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。$ n9 }& @+ r: q0 n
2 V3 t& r  l5 S$ ^; v' Z1 B! A! ]
turtles-own [a b c d k f g h
5 |1 t' S. b  F' R5 _) U- @) i2 y2 N. {  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
( }. k' Q: V  v. B]# S4 _1 i( {% X% ^1 I; s, s
to new9 ?4 n; K- X; n3 `& t/ ?" g
  ca
7 P$ W' w& ~' z1 g8 \0 y7 E  crt 5 * num_of_building, i6 n8 S3 N; c+ \# M
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]& L0 q4 j; f, l* D" ]8 l& S
  scatter     ;;keep center-turtle random positions ( b( l6 I& P7 u
  unit_plan   ;;make up the building plan! z6 X' G  o5 @5 m+ K" F' W
end& A6 s5 w" c: D: x8 A
to scatter/ N4 m8 o3 k7 S" r/ Z0 y* B
ask turtles with [remainder who 5 = 0]4 W! e3 U% o6 i: r0 A& d
[8 y  \1 Y$ `+ N' r6 A! T
set xcor xcor - 6 + random-float 15+ t$ C% N7 Y4 y9 g& k& H* F/ O
set ycor ycor - 6 + random-float 15
* Z" {% p% w7 D1 \% m]+ w% m; g4 Z/ O: s2 l4 Z  R
end
) \: V7 |) B2 w) _5 M2 E3 g4 ?% ]to unit_plan   [& ^$ N. Q3 l; b  @5 ]
ask turtles [( b: Z- v% k, @& S& A; Z+ h0 v
if (remainder who 5 = 1) [set a who # n' r2 E( \! \( M2 W1 ?
                          set x ( 0 - Wid / 2 ) $ \) |  W$ a# R" J# _8 ]
                          set y  Dep / 2 ]# H) Q2 E% i( e( j
           set b  int (a / 5) * 5
6 s+ N+ T# P1 |% W    setxy ( xcor-of turtle b + x )( I3 l) k* _- [. w$ |0 h/ T
          ( ycor-of turtle b + y )
) h9 P6 ?7 I" h1 x, T7 [if (remainder who 5 = 2) [set c who6 l2 h4 w& y, M. c! C7 n
                          set x ( 0 - Wid / 2 )
$ Z+ Q" `; q, u1 J% D- M- E8 S7 ^                          set y (0 - Dep / 2 )  ]
- E9 _, Y% A: u' Y1 L( }                          set d int (c / 5) * 5
. K9 c0 X6 X/ M% o1 Q1 F  D   setxy   ( xcor-of turtle d + x )
* C" ?- D# i9 Q  t           (ycor-of turtle d + y )
4 v" ^: _& P% [4 n  v8 `% R  D          8 k' S" @2 p( A! e4 A
            
6 J8 ?* _8 N9 ]* x  Rif (remainder who 5 = 3) [set k who8 U) H4 P) y( H5 E% L! z
                          set x( Wid / 2)  $ u& k9 P# D% p! ]$ U7 A
                          set y (0 - Dep / 2 ) ]. B1 B" S7 A+ [& X0 v
                          set f int (k / 5) * 5, W& @/ ]8 j2 r! r% A; i6 n% Y
  setxy   ( xcor-of turtle f + x )$ Q8 |2 p. F" \2 F8 t  ]( e8 a' H  ^
           (ycor-of turtle f + y ) ) o* o: T/ d3 _8 Z
           
+ c0 N: I5 a% H9 i# C$ @/ ]: ^           
% ~/ i. M; |, x' Yif (remainder who 5 = 4) [set g who
' [4 _/ d. t: d                          set x Wid / 2 6 A; L) D* ]8 Q1 a* y% j8 G
                          set y  Dep / 2 ]
+ W; o8 L8 J: G6 K+ m  I% B                          set h  int (g / 5) * 5' x  ^8 }6 }8 e, Z
  setxy   ( xcor-of turtle h + x )
0 X% i0 E; K$ Y: r           (ycor-of turtle h + y )
& b: R! ^* y, L- F                          1 G7 V% a% ~- ]- c
                          
( t- p5 m4 q9 p/ [( M# ~! a                          ]
9 x4 E$ [8 L- }' F2 {end% g9 ]4 s, g( `; D

1 E5 H4 t) t+ q6 v2 m( b  g% d: [" w* N[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
# E0 n+ s6 b) W) i应该是* A5 Y; I7 _( y" |# i
ask turtles [7 P9 P6 E# `2 U9 F
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
, A% I7 A3 L  V2 Q+ \                          set y  Dep / 2
, a, S- }$ @- e) C1 C           set b  int (who / 5) * 5
+ r' l$ Z7 N4 T. I' i, c# C    setxy ( xcor-of turtle b + x )8 |5 B5 _* J$ U3 b+ Z: C6 e3 ]
          ( ycor-of turtle b + y )]]  Q% D3 v' V1 O" Z: g1 \9 o& V9 w
end: Q0 X: h# b& c# R  h2 C! g) Y
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-28 06:57 , Processed in 0.015501 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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