设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7654|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。! Y/ f" K$ ?  f1 D* J

) t; r1 c% V' H0 ~+ J% n0 K# N但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
5 ]2 T; [9 k/ _3 y' g  P* Z) F, v) o  V5 Z1 H* {
turtles-own [a b c d k f g h
/ Z3 E4 C$ @) m8 x  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 2 |1 s; |% d9 N$ E- Y1 s
]
  s+ Q. U. W" p$ I9 Xto new
% p0 f$ m& c6 b4 c. U, a8 }! ]  ca  h1 R( Z6 E2 _
  crt 5 * num_of_building/ }5 Z5 u* O2 K$ O* R
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]) q1 d! k3 V. Y0 Q8 ?
  scatter     ;;keep center-turtle random positions
8 N% X3 V, d6 C$ v5 A8 R4 s+ A7 z* i  unit_plan   ;;make up the building plan
3 v, _9 w" K$ D- I/ v9 V( ]end
' b9 `- W' {, ?/ ^4 v; Rto scatter
( l, @1 z5 U# m& H! G% Oask turtles with [remainder who 5 = 0]8 @! p% I3 \8 z, m* i3 q* k- k, D
[
: G& Q. g6 {2 u7 yset xcor xcor - 6 + random-float 158 c! Y- K3 T( [7 \  {  n
set ycor ycor - 6 + random-float 15% z& @! p3 C5 S" v: V) {
]9 N% b' P# C/ L2 z' L
end
( s& P- Q+ B! A8 R4 B0 K6 u7 A: Sto unit_plan : M, g5 I4 [' t' A2 r) q$ n3 j
ask turtles [0 g% D6 I8 Q3 B$ o
if (remainder who 5 = 1) [set a who
2 d' D5 R5 S+ @# Y( m                          set x ( 0 - Wid / 2 )
5 }/ X. }& n, M/ j2 t' g) I) y1 K! F9 B                          set y  Dep / 2 ]. a3 q( D0 F  @! R1 U
           set b  int (a / 5) * 5
  t' X' G& @( V( z    setxy ( xcor-of turtle b + x )
$ X+ l* @& P9 f' ?( P3 ~2 _; X          ( ycor-of turtle b + y )
/ g2 g4 ^7 A* _: X! z- R% e7 `if (remainder who 5 = 2) [set c who
, @6 p2 O/ j6 ?/ _' x% M/ g                          set x ( 0 - Wid / 2 ) - g6 b+ S; U" \( N* i8 D
                          set y (0 - Dep / 2 )  ]  \; `7 H+ n2 w3 b: ~
                          set d int (c / 5) * 5
) a8 R" A, c3 j! v! A3 D, q7 R   setxy   ( xcor-of turtle d + x )% Y0 U# L0 f/ K' [
           (ycor-of turtle d + y ) 9 [. L1 ~3 X7 Q3 e; m$ J0 |3 M5 I. G0 s
          $ Z+ v' F3 e* i7 \: C$ k" I; b$ x
            ! R) l) i0 z! ~/ Q
if (remainder who 5 = 3) [set k who
4 V# K: ?" C5 Q                          set x( Wid / 2)  
5 P# K) N# ^, K3 G- N* x2 h                          set y (0 - Dep / 2 ) ]
% v9 }! k' G$ `9 f" K! `6 L. u                          set f int (k / 5) * 5/ z/ V' T/ X9 Q4 a
  setxy   ( xcor-of turtle f + x )9 [3 d- f3 S% D# R3 |# y& f6 o
           (ycor-of turtle f + y )
& d1 @) ^8 y8 b1 ^' p- i0 M           
) u0 A; E( y' c2 D           
1 I8 ~: r2 Z3 h0 ^% U+ Cif (remainder who 5 = 4) [set g who
, z0 h: G, N5 m/ Y% v) J                          set x Wid / 2
; L: R7 O* B8 S; D9 i                          set y  Dep / 2 ]
2 q" c1 e- H2 ?" Y( {$ T: ]7 f+ M                          set h  int (g / 5) * 5
7 r- h" s9 z7 p% o; s* j; C: x  setxy   ( xcor-of turtle h + x )0 o0 R: y* E2 ~, e) D9 R6 q
           (ycor-of turtle h + y ) , l# s: ~$ M+ x4 U6 D) h
                          
3 Q1 N. E4 `' o: P, f5 i6 c8 o                          / B! q" B3 a, T; v6 F
                          ], b  n+ F1 d% H  [8 s# P
end" j4 G  }: A) e  ^1 n- i: _6 N9 y

6 C- G" L" D: T2 {$ A! [[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
9 Y/ ^8 j: C- z8 U  ^' ]$ q% J' y应该是
& t7 p* n5 d5 A9 g% i& d; cask turtles [  h3 C! ^0 K: B( x( g% l8 B
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )   N: a, T; }* }, w$ @; Q
                          set y  Dep / 2
/ i/ o" K! G, b3 F+ d& Y3 c" C. G           set b  int (who / 5) * 5
/ ^9 V6 t% E. d- a/ I) ?( N    setxy ( xcor-of turtle b + x ); \& H* {- _! `- [8 D0 ~
          ( ycor-of turtle b + y )]]
! f. u: e, u: _) w1 f( Tend# c, G( {+ o' R, N7 D' G$ N
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-11 23:40 , Processed in 0.017042 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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