设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7751|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
: ^( h! G( p6 V, K4 s% x4 y$ `, r* p9 J
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。; R9 H* F% C# @

2 K4 T( m6 z! r7 Oturtles-own [a b c d k f g h
" ?; v2 A6 ^5 Z) d! ^- R  L  x y     ;; these are the leaf-turtle's offsets relative to center-turtle " X1 n# B: k+ U9 R. W+ V# z6 n0 j: L
]8 f+ x, n- `' o4 @7 ]
to new- |/ m- G* x" |0 n  R
  ca; K9 }" {) E' \7 W# f& f
  crt 5 * num_of_building- l- f. h( Q9 r7 \3 U
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
' U' e: z7 x+ U' t9 M  u& I  scatter     ;;keep center-turtle random positions 7 y0 p/ n) ], V- t2 ?* E' I
  unit_plan   ;;make up the building plan$ ~* ?3 w% l8 K) B
end
: J' }* u+ e( q. o. z% [2 I  uto scatter2 P- `% Z. h+ d. R; k# x& N& V9 r
ask turtles with [remainder who 5 = 0]
- S2 K% p: o& E3 K/ o2 P[( M8 \4 f8 G; x- N8 u8 ^/ J/ s
set xcor xcor - 6 + random-float 15
& r1 s5 M) z( |9 y! wset ycor ycor - 6 + random-float 15+ `" z6 W+ U$ U' k3 j- b
]& I8 G6 C* W7 s! o8 j, q3 j
end
2 \3 C3 V& j/ T+ i8 }: B  p2 Wto unit_plan
* L# w1 I0 _. {( p( m2 dask turtles [* |7 p/ ]- _  n
if (remainder who 5 = 1) [set a who # S, [4 z! b8 j1 o6 r9 ~
                          set x ( 0 - Wid / 2 )
8 `: q' V9 l  I. W* J' G                          set y  Dep / 2 ]
1 G: }7 ~1 b; R  Z           set b  int (a / 5) * 5, z( ~7 F9 [( ?6 e8 a
    setxy ( xcor-of turtle b + x )5 {7 M, M5 Z: @" I
          ( ycor-of turtle b + y )
% Q( [8 S6 I% j* X+ Vif (remainder who 5 = 2) [set c who- g( s$ Z. ?0 ?0 ~* `9 f
                          set x ( 0 - Wid / 2 ) ; Z( L1 g4 B0 e" t) R; i
                          set y (0 - Dep / 2 )  ]
/ M. i% s, S' M4 r- O                          set d int (c / 5) * 5
7 T9 v0 p1 p; w$ f- d1 V   setxy   ( xcor-of turtle d + x )
4 `3 K. Q) G% [) g: ~* f           (ycor-of turtle d + y ) ! g4 D5 t' g7 _1 h$ v; Y
         
# h  `1 O# n' n6 w6 |* b4 K$ S3 Y            
6 |0 z/ _* S/ a4 N& W# Q( `. {3 Qif (remainder who 5 = 3) [set k who
4 h, [4 y7 {4 T* W( n+ ]) P; z3 R                          set x( Wid / 2)  
7 D7 A- d9 w4 @5 r/ M3 T/ X                          set y (0 - Dep / 2 ) ]8 h" K. l4 |0 V# V) r
                          set f int (k / 5) * 5
/ I* M8 ]# `, o% P  setxy   ( xcor-of turtle f + x )' c/ k$ k1 K  d! `/ X
           (ycor-of turtle f + y ) 7 p9 d6 ?4 c8 S, V; E: Y
           : e, v1 Y9 r% S: H
           
1 A! D0 Y; w) C+ dif (remainder who 5 = 4) [set g who
7 t( D% v: k: ?* h. [! d                          set x Wid / 2
/ |" b+ K/ W8 e& V  W2 P                          set y  Dep / 2 ]* r# c+ L2 Q! q- M% q) s
                          set h  int (g / 5) * 5- l4 v+ y, q3 j, |
  setxy   ( xcor-of turtle h + x )9 n+ i/ H5 e- \
           (ycor-of turtle h + y )
- d% G1 D# K6 W2 H# ?. T8 P) x                          
0 r0 y: g9 e8 M) H7 ~, r                          
' X/ \  @0 L9 D$ N  y                          ]( I3 ~& N' E% l0 o( {
end
, }0 u; K/ a& g: W+ F+ X( M0 h/ N; L4 ?6 d3 v
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,& w' ~6 b! L) O5 t. S. Q
应该是% [/ e% l9 s7 g, _0 R2 C
ask turtles [
6 n2 S3 {5 y9 Vif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
/ P" L- N! z' ?: ^                          set y  Dep / 2 $ o$ c. }, s) J; Y
           set b  int (who / 5) * 5; a  S4 ?" e+ ?, h0 `* E* h
    setxy ( xcor-of turtle b + x )
0 O* E. Q! ~' H# _          ( ycor-of turtle b + y )]]7 f" @7 j/ e9 q% L9 R8 U/ z
end5 b% W7 l0 {; B( A) g
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-25 08:02 , Processed in 3.647013 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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