设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7386|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
  v4 E/ h* E( h2 U! c6 L+ A" U1 [5 s3 L7 r
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
/ q' ^9 O4 A8 u7 o( }& y# {2 ?# q4 L9 L* Q! I% ]+ {: C+ p/ x
turtles-own [a b c d k f g h* |$ i) b4 A! u0 ?' d
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 5 s* D* z. D: A8 `7 ]2 n0 T; B
]0 O% ]- L& P; w: r) M
to new, e- f7 T$ r4 f6 f4 p
  ca
" \8 g' r/ d1 Z( O  crt 5 * num_of_building
  {) Z' t$ c* b+ a  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]2 B% f' ], F3 }6 e
  scatter     ;;keep center-turtle random positions ; |& V8 v) t/ k- j# D
  unit_plan   ;;make up the building plan
9 e1 O: u+ i& I4 g8 j$ j$ C9 Iend
. F6 P# L, p) a; O( w+ V- V3 a9 d* @to scatter
5 d' m! L' [1 C2 }  v9 c! eask turtles with [remainder who 5 = 0]
7 d) X/ _; Y# P/ ]4 B[7 f0 E2 o* H" P9 m4 ]3 o9 H
set xcor xcor - 6 + random-float 15; A! r% Y* y3 s- L, T: q! N* C7 O
set ycor ycor - 6 + random-float 15. u$ ^4 E0 |5 _5 ~1 u# I
]& i4 Q0 d" c1 H  m# l; `
end
. a, L6 M& M& s) S& f, @to unit_plan
2 s6 Z6 R- ]2 l# E8 fask turtles [
) C0 }1 f) b3 J5 iif (remainder who 5 = 1) [set a who
$ r/ M' P. Y3 u5 Z/ U% s5 r                          set x ( 0 - Wid / 2 ) + x& V2 s& C: D  o/ N8 j
                          set y  Dep / 2 ]% W* a: E5 D% N8 m( m# I
           set b  int (a / 5) * 58 s5 t0 f* A8 B, A" e- N+ a& i2 V
    setxy ( xcor-of turtle b + x )! n. ~$ p4 B* w4 A) y+ U8 w: `6 s3 M
          ( ycor-of turtle b + y )# u8 N) W5 X; e# e6 U( i2 P
if (remainder who 5 = 2) [set c who
6 {- ]' e4 J' ]" o" K& K- Y                          set x ( 0 - Wid / 2 )
9 {- i5 d; i) J6 l$ I9 }5 Z) N$ Q1 B                          set y (0 - Dep / 2 )  ]
+ D5 [/ R7 r5 S6 J2 h4 z7 D. {: [                          set d int (c / 5) * 5
, i: W8 [  u! i" \! i' x; G" U& g7 e   setxy   ( xcor-of turtle d + x )9 r! ^, X( S0 o4 q
           (ycor-of turtle d + y ) % n5 P1 }: a, V* T2 D0 q
         
0 B7 I1 X5 B6 P( ]. [3 w9 t( Z            
2 ^" }" o/ R0 M+ y) S' g6 L& hif (remainder who 5 = 3) [set k who
2 c" `. R2 _- ^& F$ p. W                          set x( Wid / 2)  * ^. f; r4 \1 F1 M" j6 N
                          set y (0 - Dep / 2 ) ]
6 N9 s( `5 M, o$ t; W  f6 S                          set f int (k / 5) * 5  J8 d, \, D  W5 P0 @& r% w1 Y
  setxy   ( xcor-of turtle f + x )  v/ J  e+ ~0 o: B0 r6 }
           (ycor-of turtle f + y )
0 y  K) I6 t  ?1 }+ j9 j( r( J           
7 a! d  |  O8 ^5 r! T           0 u+ H# u$ a" N; d: h
if (remainder who 5 = 4) [set g who" }- ~1 l  J1 D! n: I) z9 U
                          set x Wid / 2 ( S$ f  {; R* G5 ]: j: q/ e
                          set y  Dep / 2 ]$ ?' F* b* E/ T8 c# `
                          set h  int (g / 5) * 50 U& H7 B' v# G% D
  setxy   ( xcor-of turtle h + x )
! t' I0 f" G2 v0 E; F* ]% _, \. t           (ycor-of turtle h + y ) : @7 f8 L8 L4 L+ A7 c
                          
6 E* ]0 n8 X6 c& p: G  q                          
4 |5 l4 Q+ |  L9 U                          ]
$ H" a) ?2 [. ^1 a+ A/ J8 r2 Iend
. ~9 \0 a$ |5 w4 c$ |2 v- ^% n+ g# [% ^1 V1 d% {  s4 I9 y
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
$ ?  \: G- K+ G: A) a3 k1 V0 m应该是
* `, f* x! z- g$ c( Uask turtles [
* M! U, g+ `' s" O/ L: |if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) , q  B3 u4 a" Z0 O# Z4 C1 b% B/ l
                          set y  Dep / 2 5 w1 @7 M) B/ i) X$ T: B
           set b  int (who / 5) * 5$ R2 m0 z! o3 k
    setxy ( xcor-of turtle b + x )
% t& C1 |/ Q* }* i: W$ Q! S% r          ( ycor-of turtle b + y )]]% F( T  Z. b0 x& p# l
end; x2 @' Q- b& c6 e( J- i: n
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-6 07:12 , Processed in 0.027004 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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