设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8754|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
# _7 n/ r! @7 F& P) A
( B) g/ H. N& n; j7 ?, }) M但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
: @$ i8 }- I9 d( C$ h/ u" M8 R
turtles-own [a b c d k f g h
- I8 ]5 ?* Q% N# m8 C" \  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) _: o7 n9 N% ?+ `( ?9 f& ]* o]
. D: L- H8 x9 f) E* J4 }to new
9 Y+ y7 D, x9 w' J8 k  ca
2 R) l6 `1 ?- g* G- W, M0 e$ u  crt 5 * num_of_building3 y& F  h( b$ @$ L" a) {3 l4 r- x
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 C- y  _1 ^* K! \/ f1 O  scatter     ;;keep center-turtle random positions
7 A( N7 J* p  c' y6 @  unit_plan   ;;make up the building plan& D2 v: q# e* `9 l" ?) W! u
end
8 \5 J0 b7 p0 z" ?6 ?/ `: Eto scatter
* q& e. q3 N, s) Oask turtles with [remainder who 5 = 0]% k; S2 H/ j& K8 m* o' K
[
3 a+ Z# o4 @$ U2 bset xcor xcor - 6 + random-float 15+ G. @4 W; I/ O1 w1 X. b7 r
set ycor ycor - 6 + random-float 15
$ F  b3 h7 L+ B# c) {& `]+ L, q; d  s5 Y; E
end
* K  D. U9 T7 sto unit_plan
2 r* p6 c2 F0 s  D1 }ask turtles [
3 W' D& u/ R# I4 O# {" pif (remainder who 5 = 1) [set a who
# k* R' w' u6 |1 n                          set x ( 0 - Wid / 2 ) / w! E  N7 a/ e6 X& C0 c5 S
                          set y  Dep / 2 ]
& J; Y  G; z' D2 a6 ~1 y; }9 c5 {           set b  int (a / 5) * 5" j# w9 B' L9 R- C8 l% F
    setxy ( xcor-of turtle b + x )
1 Y& H' r) j* d8 F: p' o          ( ycor-of turtle b + y )+ F) D, o( G1 ~7 Y1 |% s( [. p% y
if (remainder who 5 = 2) [set c who2 \8 A1 V# E9 G/ ~1 M; C+ m7 H% X
                          set x ( 0 - Wid / 2 )
- L- G9 I) A$ Q9 \+ Z( j" z1 B1 T) ]. D                          set y (0 - Dep / 2 )  ]1 [( J, a+ M" U" o3 |$ W9 N
                          set d int (c / 5) * 53 c: t$ _+ L1 B8 ]/ r* i
   setxy   ( xcor-of turtle d + x )
8 Z( R' G, d8 X* S1 x# @           (ycor-of turtle d + y ) % e" O& W- A. z  f5 |
         
5 x* Y. T0 q( g; D; E            
# E5 \! y4 G  M8 R8 Sif (remainder who 5 = 3) [set k who
) `% f& Y% ~2 Y: h& \! Z5 Q7 K                          set x( Wid / 2)  4 p( Z  z5 Y: ?: b
                          set y (0 - Dep / 2 ) ]* Z7 f) {- t: H, X; l5 D
                          set f int (k / 5) * 5
' w  k' b8 K( e  setxy   ( xcor-of turtle f + x )' A3 }  u% Z: }1 X. C8 K
           (ycor-of turtle f + y )
# N$ T* @3 Q8 k$ i( ?9 M' e           $ x' Q, p3 r7 `+ E6 y
           ; I- l# Y! J4 L1 s
if (remainder who 5 = 4) [set g who
" p- ^: z( H0 s5 G- Z                          set x Wid / 2 , ^: @2 }: \7 R+ [6 L$ T
                          set y  Dep / 2 ]
4 O" F$ J& D9 ?9 }& @0 y0 }9 a                          set h  int (g / 5) * 5
' `4 t4 L2 g. H+ K, v- g! l  setxy   ( xcor-of turtle h + x )
) O5 b' R+ ?6 O6 K           (ycor-of turtle h + y )
1 A# V: a- M) y- n3 f3 s) k+ P                          ( B& J' ~$ a' g
                          
4 Q0 I* s9 O/ w4 v; p+ Q3 [                          ]. P0 k6 P5 i5 g. A# o0 Y3 h
end8 V4 M$ F. c6 L. i- c3 B3 E8 R
& F4 Z/ t* f% O/ T, x. m
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
: L6 r- z' N8 x$ p- h4 ~0 Q应该是
0 X( L7 N# B" d; Gask turtles [
/ z' d3 @+ u, ~" Sif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
, w6 f( u4 r% I6 }                          set y  Dep / 2 # k- z+ {/ A# G
           set b  int (who / 5) * 5; i9 M$ V6 F0 l* \- X4 k
    setxy ( xcor-of turtle b + x )1 k4 T  V" u9 k9 i
          ( ycor-of turtle b + y )]]
8 t) Z% [+ Q' m1 ?end2 t# m1 f! b0 a1 E4 i! D$ E# G
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-1 06:35 , Processed in 0.014920 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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