设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7692|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。' R! W$ {; K+ E& {* s8 ]

. G7 k9 ]3 v" E. ~5 Q但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
* ^: k( l  R/ J
( Z' D; v' @( v& R" B+ Nturtles-own [a b c d k f g h
8 V6 {% s$ t) e5 I/ q4 @( c( T  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 A' j% _) n" M- Z8 V
]6 H& `( D% T" E. F9 u) f5 h7 t0 `5 j
to new
* H4 w. P  \4 F$ A( `  ca
3 e/ N  z# D6 A( ]* g  crt 5 * num_of_building
& m" U' x* a! h% F) [  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
9 A: `! w/ N6 C) d" t  scatter     ;;keep center-turtle random positions
" J/ V  B+ _% t& p4 r7 P  unit_plan   ;;make up the building plan& c4 N' h! X2 x1 v! H
end
2 t2 S, q1 K! k0 z, v# @+ Gto scatter
% p9 R4 w; [1 A0 V( q9 H2 Iask turtles with [remainder who 5 = 0]5 \* z. P) c1 K  d! z/ }: g
[, g9 Y! d4 r0 K$ m) ]" t
set xcor xcor - 6 + random-float 15
9 R) u2 \4 c4 z8 ~5 D* v$ cset ycor ycor - 6 + random-float 15
0 t" a! ?$ p& a' z$ b]& e) k2 Q" {" X4 J  c
end
2 ^* C2 Q; n# v+ H4 P7 lto unit_plan . a- Z4 n/ K/ A! Y) e
ask turtles [5 B' z1 [# F$ A: [8 [
if (remainder who 5 = 1) [set a who * G- l6 q4 N! ?5 ^5 r
                          set x ( 0 - Wid / 2 ) 5 L9 I/ c# w( B/ t+ `: ~
                          set y  Dep / 2 ]) P. d9 c3 A  D$ f4 l( v- i
           set b  int (a / 5) * 5
7 g3 X1 l- J3 k- H/ ^7 s4 m3 }    setxy ( xcor-of turtle b + x )
, k  W& o* h& S7 u2 z* p          ( ycor-of turtle b + y )( M& a+ v+ c7 O! h- i2 Y& M0 r* a
if (remainder who 5 = 2) [set c who
7 r: p" D" n# v                          set x ( 0 - Wid / 2 ) 5 F& m4 n" y4 [5 C& A
                          set y (0 - Dep / 2 )  ]1 l0 ~& D* \  [1 a% r8 g& P# r8 _' g
                          set d int (c / 5) * 5
2 B5 O/ R: Z* Y7 i+ Y, u   setxy   ( xcor-of turtle d + x ), m+ }9 L# X) y# y0 ]
           (ycor-of turtle d + y ) ( X2 }9 `  r$ V
          $ E0 f$ w  H% y; X5 ~# G7 M
            
( K( P$ j: J0 o. Dif (remainder who 5 = 3) [set k who, B- ~/ s# p) f2 L, d7 ^
                          set x( Wid / 2)  : |. R$ `8 j- m1 T
                          set y (0 - Dep / 2 ) ]
, b. x3 D' y/ B                          set f int (k / 5) * 5! w+ U& A9 ^/ g% I; R! P  V2 {
  setxy   ( xcor-of turtle f + x ); Q/ h3 M$ F; _# r$ L3 [
           (ycor-of turtle f + y )
0 d+ b' F3 b3 G. l7 A( z1 `8 F           " ?% g* a6 @4 B/ P
           
: C4 o3 ^6 U" O6 K: W) j% yif (remainder who 5 = 4) [set g who
; F) t% ~; ~8 m                          set x Wid / 2
/ a4 o" }" T+ r9 r3 K0 G                          set y  Dep / 2 ]
" [% m% b; l$ D- f! b+ U                          set h  int (g / 5) * 5. J) O, [8 F% p; V2 t
  setxy   ( xcor-of turtle h + x )7 K- y/ ]8 Q' `5 e/ X$ e
           (ycor-of turtle h + y ) 2 a8 a) |" c- T9 t: d- o9 ~3 C1 S
                            P4 K, P5 U2 [# M: ]
                          
! ^/ _% g% ]0 M8 ^3 m) D  b                          ]' N, ~5 ^/ d+ S; g) j" o
end
& q" h5 S& @8 w# X$ g; w7 o1 h6 W$ {& `( u
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
& J/ ?/ y( L3 e* ]% }& T8 v应该是
# \6 t  Q( v; e% F/ }ask turtles [5 M& s$ L- a* A4 E/ K2 A1 Z" q
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
" A* J/ l9 {6 ?                          set y  Dep / 2 2 h( v* U8 @" a! a: F
           set b  int (who / 5) * 5
8 X: t4 P; B, g7 X' I) X! l    setxy ( xcor-of turtle b + x )
7 C: V( f5 ?* Y# X' V          ( ycor-of turtle b + y )]]
1 d0 y. R, z  C5 ]  w( [end
3 ^9 q# w9 E* ?9 C之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-15 23:32 , Processed in 0.014704 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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