设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8090|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
1 f7 [$ z1 N: |5 Q7 F1 Q2 q* N& B6 i1 N1 A
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 @: O  m' ]- s) c- W

8 E- x7 v+ H  q" B! yturtles-own [a b c d k f g h  O1 B  u$ |! Y5 W* y; ]+ V
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 7 [" T$ n; J2 [# G: M
]
1 e2 ?7 q6 p2 i  vto new. h, f8 Z/ E9 Z
  ca; H" y1 _5 H: g1 u0 W7 }& [( y! p
  crt 5 * num_of_building
* G& |  J/ V/ J6 q: R0 {  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]3 N' W; ]7 U& q" D% f6 l4 O  c: c
  scatter     ;;keep center-turtle random positions
! X7 H  G. M7 t* C8 j  unit_plan   ;;make up the building plan  E7 P5 i) I$ A2 J/ r; J
end' P. P( H+ \  E) t
to scatter) p! k8 l% ?7 e3 {
ask turtles with [remainder who 5 = 0]0 n$ w( s) O! L; b" J. Y
[+ V# N$ ?. j# p
set xcor xcor - 6 + random-float 15
3 X% p4 {1 p# @2 Zset ycor ycor - 6 + random-float 15
  b; \  M1 k& i) I5 `]
1 p! u) T6 a' ]& ]. ^; F9 u6 u1 gend/ |6 d* ?% [$ j6 _4 J4 D' _0 _* K
to unit_plan / w' Y" g  |4 \% m2 R7 k
ask turtles [$ y5 T6 W+ v" h) E: L4 `: e- k% i$ d
if (remainder who 5 = 1) [set a who
) a, e7 c7 _1 s) e: s+ N9 W                          set x ( 0 - Wid / 2 )
9 C  ?* X1 e$ p5 O0 u* H                          set y  Dep / 2 ]
( ?( D4 }+ j. g! Z+ R           set b  int (a / 5) * 5' S1 B8 F; Z! C: G. K
    setxy ( xcor-of turtle b + x )  {( F3 ]; ~8 Y% M4 K  b; S( W
          ( ycor-of turtle b + y )6 W# B. j( a: N# H7 V( ?
if (remainder who 5 = 2) [set c who* E3 X( v  y/ e3 @/ x. N. p
                          set x ( 0 - Wid / 2 ) " Y* o% `" \" p3 B
                          set y (0 - Dep / 2 )  ]
' y9 }& t$ O- k. B  {' O5 J                          set d int (c / 5) * 50 u2 ^8 \  i7 H
   setxy   ( xcor-of turtle d + x )
! o5 k! c) }% K6 C4 i4 G3 d0 ^           (ycor-of turtle d + y ) / k( g1 h! \& `+ D: e
          ' ?' [& s' E4 m: r9 F% _+ M$ B* h3 [% q
            
6 A* ]) X2 t8 J- c1 R" k+ xif (remainder who 5 = 3) [set k who+ y* K- `- q  `
                          set x( Wid / 2)  
7 k3 o& I' T+ v; ]$ l9 j                          set y (0 - Dep / 2 ) ]% G, R% s: T0 v9 W
                          set f int (k / 5) * 5  C) v. a% p6 K" n, I
  setxy   ( xcor-of turtle f + x )
* o; f1 G2 b2 x7 W3 p           (ycor-of turtle f + y ) , Q1 u- B/ d- w( l  O! D8 V7 r* z
           - |% q0 u# b, N5 X# R
           
- n! z* o. H1 w$ \; W5 [9 oif (remainder who 5 = 4) [set g who# s6 G% P. V4 L0 Z
                          set x Wid / 2 6 F0 h: H: b8 ]! A' v" N$ X, p
                          set y  Dep / 2 ]
2 e7 N1 h8 M  P( u                          set h  int (g / 5) * 58 a- _' B6 _* I2 S
  setxy   ( xcor-of turtle h + x ), x1 ]- t0 {! {
           (ycor-of turtle h + y )
% Y( I7 P8 G2 N! P! G$ |                          
  ^' T! }0 M0 ^" ~* t" l+ `& N                          9 P! R7 g1 r7 t" A# @7 P3 b5 T
                          ]7 h- V6 \7 A7 ~8 q
end
/ P% D7 Y1 `) R3 K! J" u
% Y/ n5 j. Q' q0 t' j+ X0 L' A[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,( t7 e/ z' |8 Y" U/ {
应该是8 ]; r& q4 u* D
ask turtles [: [/ _$ t* ]( X8 n
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
' n8 ~2 [5 K' Z2 i% [                          set y  Dep / 2 " N; [- F6 @4 {$ H6 i" B3 X
           set b  int (who / 5) * 50 C# b  w1 o. a: m
    setxy ( xcor-of turtle b + x )
: w9 T9 ^- s% a/ z+ N7 J          ( ycor-of turtle b + y )]]
4 B+ d+ ~6 Z4 N4 Z- |& M& t2 E4 Eend
4 P4 g( h8 P* A4 e$ Q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-6 17:18 , Processed in 0.023803 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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