设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8204|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. K6 Z6 i+ i" e7 b
0 I; S/ {' G+ }: z( m6 n2 E4 E; J/ ?" i但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
" }; a. B9 y! w; P! R. D
6 t; Q# `1 T5 t8 w* Y* ~9 a  a2 Zturtles-own [a b c d k f g h3 n, J# Z, |  ~* q
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
6 b3 M& y: W% c6 h]
2 H3 \( m: E( g. s- Pto new
0 K3 t6 i7 F4 `# S' R. F  v  ca  ~: G) x! H- i* b  t; b5 d; H5 O3 H
  crt 5 * num_of_building: K  o: ]# T  ]- P3 z5 Z0 }0 S
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]6 W0 R- V7 x' V# N+ M+ G9 s6 Q" y
  scatter     ;;keep center-turtle random positions
( S# x' f6 X: `# Q! z  unit_plan   ;;make up the building plan3 C# ^1 w+ t# G* d
end
' {3 [6 p( @+ w) F" e; Z. Sto scatter9 w) k, m+ s3 c# d/ B1 A/ y
ask turtles with [remainder who 5 = 0]
# b9 Q) x% ~9 S: [[
1 _7 B6 _1 t# Q! I7 A8 Q1 lset xcor xcor - 6 + random-float 15
. c9 d6 z5 A: q( l: d# yset ycor ycor - 6 + random-float 15( Q! g* R5 Q  s- m, y' [6 V
]
4 X4 [4 D+ y  g* iend
* w  e! x5 v$ x0 p) {6 @* Vto unit_plan / w# q' Z8 W3 l( Q1 f/ F* q
ask turtles [* ~3 Z3 u- ~4 B9 i% d
if (remainder who 5 = 1) [set a who # m4 R4 W  A, C5 `4 A# g) R8 I1 v
                          set x ( 0 - Wid / 2 ) # ^( C7 W; [  e' R, F
                          set y  Dep / 2 ]
. p% Y" W& a, C8 {3 ~4 b           set b  int (a / 5) * 5
& H2 z! L% f/ P    setxy ( xcor-of turtle b + x )
/ \* s" x% Y8 D  E          ( ycor-of turtle b + y )0 s# W0 D/ x& x) b/ S0 Z7 K8 Y
if (remainder who 5 = 2) [set c who
/ q0 P" o$ E5 s4 m1 i4 s, t                          set x ( 0 - Wid / 2 )
2 V3 `. q8 w& f$ D                          set y (0 - Dep / 2 )  ]" \4 g. ^) X; q$ P3 L. g6 k7 B4 B0 H$ J
                          set d int (c / 5) * 5* _2 b/ f8 [" c$ p7 d
   setxy   ( xcor-of turtle d + x )) H% Y% {, W2 J, o  E& K
           (ycor-of turtle d + y )
! k& z1 f- Q0 I8 _, c4 R, l1 @         
4 K) C3 j9 g9 J2 S/ w% E) g4 N, n            
) T8 P* T) s# s) a' y9 O$ I$ ?if (remainder who 5 = 3) [set k who- c8 o8 z4 X3 a
                          set x( Wid / 2)  . }8 F* W+ Q# I. T+ [
                          set y (0 - Dep / 2 ) ]* A1 R/ {; ^$ B& p" h. u9 U
                          set f int (k / 5) * 55 w  O1 H$ X" w- @* y6 D, A9 ]. `7 X  W
  setxy   ( xcor-of turtle f + x )
4 ?9 i, I+ _* [( T           (ycor-of turtle f + y )
; Z5 A5 Y. X6 N( a$ i           0 F" |) @3 P2 l3 b
           
/ f8 R0 `: R* j5 o% v% g* ~if (remainder who 5 = 4) [set g who3 k0 Z3 G% w, i' Q( T# P, B9 g
                          set x Wid / 2 3 q- b4 t6 Z; t+ d
                          set y  Dep / 2 ]8 y% T4 M$ X& A; l% Q
                          set h  int (g / 5) * 5
# U+ {! h) W2 _/ N9 m4 n8 p1 P1 ]  setxy   ( xcor-of turtle h + x )1 R, G8 I& C0 v5 `! w0 B# I
           (ycor-of turtle h + y )
5 O& |0 O0 t1 z/ }                          
9 t0 B4 \- E. V9 f1 g2 C                          
+ d( y" G9 C! ^8 r' [4 Y                          ]
3 b2 k1 e- @9 g6 @7 |3 h3 Rend
& M7 ^# X8 O& Q, ~0 i$ h
  D8 X( I' Y& |2 j[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
" S( D# g/ |% ]" S& I* f5 t应该是
* S9 t' Q! V9 A" e9 ]/ U, |% A( uask turtles [  r) _5 `  L1 x, t
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 1 ^* J) U1 F' q0 U" f
                          set y  Dep / 2
3 o, k- C2 n- s7 j$ ~+ E3 r- R           set b  int (who / 5) * 5. `/ I6 G& \: Z9 M& |# i
    setxy ( xcor-of turtle b + x )1 [8 v. z2 }: P! n: u+ Y; d2 G* K
          ( ycor-of turtle b + y )]]
' B5 K5 h8 ?: r9 `" `& I$ oend' n8 p  ~, V. i4 \3 E' e8 v
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-18 14:27 , Processed in 0.016661 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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