设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8466|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. v, [: d7 _  z5 z1 S# [
7 X* t1 v, N/ U& E但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
4 `, r$ ?7 D  M3 }% a  q
9 t5 P/ O8 T; h' P7 s6 |7 @turtles-own [a b c d k f g h
% S# r: H! Y$ K$ j7 x  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , y) [; @6 U5 P
]7 T; X9 m7 T  ^4 b8 [! i" `; [
to new
% f# X, }2 l/ N7 E! P  ca
5 ]/ M8 N6 b2 b& h9 T; w& i  crt 5 * num_of_building* g* S5 u& q5 X% X9 C2 o
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]: h/ f# K5 i; r! z2 O( l$ ~
  scatter     ;;keep center-turtle random positions
6 d( i6 S7 ]8 F/ N, t  unit_plan   ;;make up the building plan% _/ y1 @+ q* m
end+ _( R0 Z% f( R* h' |' A6 D( t
to scatter
- b" N" @! j; }% Hask turtles with [remainder who 5 = 0]9 M1 B. ^2 ^( ^+ j) B+ G" B" V; X3 F
[
( N0 K3 [6 S2 _7 R' D* l7 Sset xcor xcor - 6 + random-float 15
; r, K# O5 I8 E2 Jset ycor ycor - 6 + random-float 15
, v) Y' [6 c, `* R; u- m( ~]
2 q. R& L6 k, {& fend6 d$ P/ U/ ^: M$ h3 @
to unit_plan ( |8 @1 T9 X3 \: E4 f6 g
ask turtles [
4 ^0 w- R# Q6 W) cif (remainder who 5 = 1) [set a who
2 B8 {* S% g) n& C3 |: H, \) _                          set x ( 0 - Wid / 2 )
% x3 g! c7 c% F! B( O                          set y  Dep / 2 ]6 s* z5 x9 n8 Y  _9 {4 |7 N  C0 g
           set b  int (a / 5) * 5
+ G/ F" R) m' p& c1 G- E# [1 ]    setxy ( xcor-of turtle b + x )
- `6 p) A# J/ e          ( ycor-of turtle b + y )" X# T" Y6 i4 V! V' _
if (remainder who 5 = 2) [set c who' I8 f& h4 q& z# k& t
                          set x ( 0 - Wid / 2 ) , C8 R0 g& H) x  L
                          set y (0 - Dep / 2 )  ]) i7 i, E2 K! n& ?5 o# x0 T
                          set d int (c / 5) * 5, [8 r) ]4 W4 ?, [# s9 k
   setxy   ( xcor-of turtle d + x )8 o/ U+ s. k/ n1 s: a% [7 O
           (ycor-of turtle d + y )
* ]" K6 h$ [7 `0 C! {8 m' ?! Y          ( N) r6 {- s( W4 Q( `
            6 n! ]/ T% L5 q1 t* |. Y
if (remainder who 5 = 3) [set k who
. s7 i1 p3 r; f/ n$ Y6 D                          set x( Wid / 2)  ! H" w4 w& A0 w+ h. z& P* O9 J
                          set y (0 - Dep / 2 ) ]: E. B. F* n0 V2 w
                          set f int (k / 5) * 5
6 T8 M& L1 {' c. O* v0 y/ Y& e6 C  setxy   ( xcor-of turtle f + x )
; j5 k- S  Y) |! U6 i  e$ ^1 h2 ?6 u           (ycor-of turtle f + y )   p" q4 e. T( F8 m9 w3 d( y( f
           : B" K3 ~% t" Z! b% X3 z
           
: R/ G! ?8 b4 E8 L& w" Jif (remainder who 5 = 4) [set g who1 J# q1 e6 p/ u4 ?" j' T: j+ G
                          set x Wid / 2 ; ?6 @! `4 o# \- I+ p1 R# S
                          set y  Dep / 2 ]
* ^' W! X% A" `. E                          set h  int (g / 5) * 55 D" `. }2 ^& s, F6 y
  setxy   ( xcor-of turtle h + x )
. P4 x3 t1 `5 ]% k           (ycor-of turtle h + y ) . I7 k  s( ]" }' H6 A& ~
                          2 Q/ Y, |2 ]- \. i' i5 L
                          
3 a: O6 c: j9 X! w& ^5 i                          ]1 |) L, y3 Y, S1 y2 q# g
end- J9 U) {1 }1 Q5 e5 V

' Q& k3 ~1 O) Y  b[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,6 \3 A0 \6 c( R+ f/ k; l3 ^
应该是2 j) Z) e, r/ H% J7 f; D
ask turtles [
! ]2 I: D) M1 C. Xif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # Y, u$ `3 g- m* t8 _/ Q
                          set y  Dep / 2 & ~& |8 S2 C9 _$ Z" F5 _
           set b  int (who / 5) * 5: N# y8 L2 t' e$ R, P% s
    setxy ( xcor-of turtle b + x )6 G/ v# ]+ ]& a. @: y2 n% U& V
          ( ycor-of turtle b + y )]]0 a6 f/ `$ E: t& t; r/ A& _
end
0 T8 u) J' ^6 {0 k之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-30 11:40 , Processed in 0.016399 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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