设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8070|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
2 N6 }9 Q8 J, A8 u+ R+ q. Y1 \. V; g. `
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
7 _8 J+ e9 ]- |  |; X- R& @1 g3 c" ^
/ i8 c4 I/ k' n; fturtles-own [a b c d k f g h' \9 n, g; M- g. z. [. S
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
6 F+ T* b' [3 s+ E) ~/ h+ g]
* Q6 C& ?1 H# Q" H7 y" e6 \to new' a! q, ]1 l9 d7 I5 u# J1 r
  ca* V5 S3 }4 ]4 n; G
  crt 5 * num_of_building
3 a+ l' h2 x! b( T" m  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 J5 @8 O. f8 j, C( H2 `2 M  scatter     ;;keep center-turtle random positions $ W) A% U8 u2 g$ C3 w& f9 P+ d* b
  unit_plan   ;;make up the building plan
, R1 U0 t# c2 Kend. \* C1 v5 l, m/ S
to scatter
" T8 k; Z# ?+ l9 I( w# G. ?ask turtles with [remainder who 5 = 0]9 N6 e+ s. V: F5 d- ~6 C4 s
[
- D8 u+ s! W+ pset xcor xcor - 6 + random-float 15
! w0 ]: L. X; R7 n1 |set ycor ycor - 6 + random-float 15" @9 j& b( A3 i& V6 P- x- l
]
% u$ n7 f, C) u6 h% Eend
- F% x' S+ i4 C5 Y3 lto unit_plan , }% M9 g' m6 M1 h, i" B1 t
ask turtles [, q( Z6 o0 \$ L* z
if (remainder who 5 = 1) [set a who ) U3 l) l3 x- D
                          set x ( 0 - Wid / 2 )
7 c8 q) t; k2 A) k$ r, k                          set y  Dep / 2 ]2 i6 b* j! N0 d  k& B5 Q# p! @! M
           set b  int (a / 5) * 5
: n! d. K* x5 q1 z6 l0 U: z    setxy ( xcor-of turtle b + x )
( o! K8 u' h. `. z4 f. U, P* e) @          ( ycor-of turtle b + y )
$ o1 x: p+ s" o- aif (remainder who 5 = 2) [set c who1 I+ K; K5 d) L! }
                          set x ( 0 - Wid / 2 ) , n8 I( u& J# a6 J# s& J- b+ [
                          set y (0 - Dep / 2 )  ]" I; U- y% V- m
                          set d int (c / 5) * 5
. S1 i; z1 O3 d; A9 h   setxy   ( xcor-of turtle d + x ); F- _& x2 p2 H6 z( g
           (ycor-of turtle d + y )
0 }: h7 n# ]3 \$ |7 q7 L          : V; I% t0 c( u, D$ _; m% f
            
% O" W9 e0 |6 {8 d5 H# eif (remainder who 5 = 3) [set k who
- P1 ~* h" c2 K  G8 N& z                          set x( Wid / 2)  ; R* M% R9 _! d: Y( c: l" P
                          set y (0 - Dep / 2 ) ]/ d* s) [& L8 Y' E$ s
                          set f int (k / 5) * 51 [  Y$ J9 C* v
  setxy   ( xcor-of turtle f + x )
; ]' T1 B$ G$ ^" S$ n           (ycor-of turtle f + y )
, J: m: `% u: t1 H5 c           * f9 r2 ]+ F- s& e( `* ]/ P5 _
           
0 A8 a8 a' l3 W1 L4 f; M9 D+ Qif (remainder who 5 = 4) [set g who
% C- z4 ^3 w+ M, \                          set x Wid / 2 * b% O/ t3 j* x' H2 K, U6 h  I0 H
                          set y  Dep / 2 ]
( q7 t* h- A' }- r, q                          set h  int (g / 5) * 5* x! F1 D' D) b  ^9 i/ h' I
  setxy   ( xcor-of turtle h + x )
) z+ S7 Z. R+ V$ p) l           (ycor-of turtle h + y ) % J: N/ z/ p* W% E4 y
                          
- j0 N' m; W, Y* @& r' r9 l0 `, @                          1 }* p2 q6 E6 }* U  H3 @+ o
                          ]
. v: Y7 w( d; p! }& wend2 W8 Y; e$ w1 U$ r$ o; N

" W$ o5 a! e  z1 f6 O4 j7 E) }' D[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,1 m; w8 p$ x. Z+ q
应该是8 l7 e$ S' n% c
ask turtles [. @8 P( [& G+ q9 X3 s
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
! ]  L+ ~& Y/ A" Y                          set y  Dep / 2 , P7 M  U) c% d# |9 G5 }, I
           set b  int (who / 5) * 5
6 a& R( v0 S* j: H    setxy ( xcor-of turtle b + x )# I: _3 N9 E) y1 T, k
          ( ycor-of turtle b + y )]]. e, w, X; K, s3 T" q
end5 s+ H6 J- d% {, g7 h0 I& M9 i
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-3 18:11 , Processed in 0.016134 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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