设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8711|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。1 S, G/ \6 z4 T8 h$ r3 I+ [

; g1 ]2 H9 ?. [9 u: _' Y- Z但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
) v7 P2 X! D0 T- V% \) }/ a
. C- `2 D6 K' cturtles-own [a b c d k f g h0 p' p" W  {2 n$ n1 k) `4 d, N+ j7 t
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; |$ k5 s1 \$ T7 o]$ r' h6 {7 v6 G9 Z1 `
to new
) h( E) }6 ?5 n- r& P6 m( p5 P  ca
7 D2 F7 s% x1 a" C7 t5 h  crt 5 * num_of_building
8 ^# c' j/ G/ g) T1 Z( m  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
3 y: w& t6 F# W( ~6 [  scatter     ;;keep center-turtle random positions 8 u1 a' t8 s+ E9 N
  unit_plan   ;;make up the building plan% v8 c2 M9 ^3 G$ D( b
end
6 ~2 F* o' x/ w) O. ?to scatter
1 R, k5 N8 M/ z; a1 g6 ?ask turtles with [remainder who 5 = 0]
% B# i% J0 f% b; _: N: y[
" V3 w# Z& N3 w) ?7 F/ W; L4 p9 K: P3 hset xcor xcor - 6 + random-float 15
9 l- d) _( c1 M: h! oset ycor ycor - 6 + random-float 15
- Z* F( w) n  o/ |# B1 P]' \2 H# \/ N. Z/ X: m
end2 E- `( u' P3 W1 [& o- H0 k; a  h
to unit_plan
6 R& Z# Y/ |% T/ p, ]! ^) Yask turtles [! m- T' A, L# j! I/ P9 i/ k5 c3 u4 y
if (remainder who 5 = 1) [set a who
: h) B" I2 ~4 ^( B                          set x ( 0 - Wid / 2 )
# b% |( x5 q6 g) K                          set y  Dep / 2 ]5 Q, t9 X) |7 c4 @1 w
           set b  int (a / 5) * 5
7 e7 w" C& @' Y# t    setxy ( xcor-of turtle b + x )% h2 D! z: ?/ J! Z( \
          ( ycor-of turtle b + y )
: ]7 Q& D$ w6 u4 M/ nif (remainder who 5 = 2) [set c who
, i( N9 Q: K% |8 {- g3 Z7 w                          set x ( 0 - Wid / 2 ) 6 X+ D. e, d) x! ?2 P! h
                          set y (0 - Dep / 2 )  ]+ m& R" M2 C2 U; Z* ]! p
                          set d int (c / 5) * 56 j9 v; z3 d" j  z! p: b- A
   setxy   ( xcor-of turtle d + x )
2 c9 G) ~5 T  B& G* M( W! Q9 l           (ycor-of turtle d + y )
- l. [' d5 v, i5 A         
1 ?; L6 z4 E6 n+ n            # G& }) Z5 j8 p7 g" k2 k: ^9 O$ n
if (remainder who 5 = 3) [set k who
3 U) t1 a. u0 X' q2 X: I                          set x( Wid / 2)  
6 h4 f( G: A7 J9 p& J4 H                          set y (0 - Dep / 2 ) ]+ b# G: L4 F6 M' I7 G! ~
                          set f int (k / 5) * 58 k+ T' V% k9 S! x% F7 G  H
  setxy   ( xcor-of turtle f + x ): |2 K; M3 x% p+ B8 o& T+ f' w
           (ycor-of turtle f + y )
% d5 e  J! [1 y* H           9 O) z9 u  \( L5 p+ t$ W
           - C, D$ F7 x6 ~9 _& I0 A: |& V
if (remainder who 5 = 4) [set g who
- Z  P4 b# [# @                          set x Wid / 2 : e- T1 j1 x' T( F/ G4 T6 u
                          set y  Dep / 2 ]# T  q0 a6 c* Z6 ^* h! ~$ ^7 |
                          set h  int (g / 5) * 5* q% r3 c) X/ G% s
  setxy   ( xcor-of turtle h + x )$ F6 {9 P9 a2 ^1 B/ i+ c8 W
           (ycor-of turtle h + y )
/ Q  p) G* a- S+ J0 c6 p                          
, S- Y: {9 Y  C0 n                          ' g; A% O" c' i: K. L
                          ]
, k' p4 P4 S1 jend
; C3 ]7 S6 y* a# b  W+ n$ ]$ H4 ?1 J) |, ]. G; N8 Q! X, Z
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,  T' p5 b' ?4 P" N  G$ T9 k
应该是3 G4 q6 H8 [5 h0 `# _
ask turtles [
& l6 N# K* k0 _. B" T/ w  G9 Hif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) $ z1 M) q' h6 I* {+ f
                          set y  Dep / 2 " M) ]1 o; G5 V% H; ]( d
           set b  int (who / 5) * 5
% m/ e7 u( m$ P9 q% x* v. e    setxy ( xcor-of turtle b + x )* D7 J* |& [8 w2 E* m& B4 {- R
          ( ycor-of turtle b + y )]]* ^- @, d/ Y/ R  F9 _
end2 }! h( ?' L, N. D5 P/ q
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-28 16:22 , Processed in 0.028255 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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