设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7293|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- v" T6 f% X. _% T- S; T* c* Y* P* x/ _) K- R
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。% z# `+ Q% O. Q# s
; [# P! l( U( M+ c. @7 G) _& s6 B
turtles-own [a b c d k f g h' l7 l0 i' C& P8 v! t: X- N! S
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
+ A- ~5 T3 k6 l4 j3 ^+ d0 }8 S]* m. o$ z% V5 c9 A  J
to new
, ], R7 \: Z3 Q) }  ca
5 o9 i3 U5 L/ {% ^3 Z% c  crt 5 * num_of_building, ^/ P8 }, g4 v9 u
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
4 I# s9 [; ^, j  scatter     ;;keep center-turtle random positions 9 D+ r8 ?; v+ \6 k/ y. `' W: t
  unit_plan   ;;make up the building plan
  }, J. t4 W6 J3 gend
# q' M0 P1 X5 z( y% M3 L/ ato scatter
8 p5 o' {4 E8 e- O! [ask turtles with [remainder who 5 = 0]  R5 e/ \$ X. R  R
[
- A3 A8 Z% o) G& u" Z- iset xcor xcor - 6 + random-float 15
8 n. D* q, c6 c( _2 J  O$ Lset ycor ycor - 6 + random-float 157 R; a# C5 O* h1 R- s4 R
]* \: |* q8 X5 B( ?% G
end" [  I9 b- j' i( s
to unit_plan
, d2 {! ]& U( L: f) z1 b( Fask turtles [! }  j. i0 c8 X  l1 z5 A  W  ?: v
if (remainder who 5 = 1) [set a who
6 F( l4 h: V2 n1 g: w- K7 P                          set x ( 0 - Wid / 2 )
# M) F$ S9 A' F. U8 V, b# z6 p                          set y  Dep / 2 ]3 A/ Z0 _$ V' \, I
           set b  int (a / 5) * 5$ R& Z0 j1 u, [* ]9 B+ i) \  B
    setxy ( xcor-of turtle b + x )
" [' P9 \' ^/ z/ {          ( ycor-of turtle b + y )
0 |) u- x/ b& D# J! D7 ]. U* x* a  w; Gif (remainder who 5 = 2) [set c who
* H: ~  Y2 M& i' T3 K: z* Q                          set x ( 0 - Wid / 2 )
2 |0 o/ Z- z, h                          set y (0 - Dep / 2 )  ]
' B4 B$ ^; q4 I  x2 Q1 n                          set d int (c / 5) * 5# @3 T! s  W4 b; j8 d
   setxy   ( xcor-of turtle d + x )3 C9 \  r6 i, M. Q/ Q
           (ycor-of turtle d + y )
. X- r; C4 }) D% \$ L; E         
- w# i( H; C9 v4 S            
' ^  m6 S, |9 c# s3 yif (remainder who 5 = 3) [set k who
* y) E- l7 i8 V0 y                          set x( Wid / 2)  2 @, \0 k8 A+ ?
                          set y (0 - Dep / 2 ) ]& v# O; z$ O! @) Q
                          set f int (k / 5) * 5# c  a3 O) W3 \8 R+ S2 H% u' d; D( p
  setxy   ( xcor-of turtle f + x ), P; p1 |2 s3 ?3 ?# \
           (ycor-of turtle f + y )
& m& u  b8 K4 ?2 @           1 I! g4 B' {5 F6 E! w. _8 e4 ?
           : M, l% b# |4 M4 \9 r
if (remainder who 5 = 4) [set g who
" h. F+ G, I9 ]1 j3 ?- Z                          set x Wid / 2 : A% x5 w9 Y+ F- O7 A  O1 S/ H4 n
                          set y  Dep / 2 ]1 h7 G9 [% G  h" F  o: F+ O
                          set h  int (g / 5) * 5; M9 h& |2 p0 J) G5 g. t4 |4 q5 {6 Z
  setxy   ( xcor-of turtle h + x )2 y/ f9 S3 s# b7 _4 I
           (ycor-of turtle h + y ) + I, }- a8 @: v0 h
                          ; |4 k( y# P  s! B% J
                          7 g# Q) J- m3 l# h' @& k
                          ]3 N( W; |( p& F# ?
end! ^# K7 c2 b9 Q1 r7 D+ A
' Y9 e5 g) B3 o* c# k
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,* o7 `4 L3 _0 y+ E( m
应该是
# A5 A7 S6 [5 E( A, R: nask turtles [: E( x- e; i+ X( |, ~. }3 I+ b
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 9 ]( Y/ L/ l/ O) d9 N6 g
                          set y  Dep / 2
! ~6 ^, f( M& H1 |           set b  int (who / 5) * 57 O) L# r) |9 }! o7 x
    setxy ( xcor-of turtle b + x )* t8 m6 W6 [5 ?$ R' s/ ?
          ( ycor-of turtle b + y )]]
+ [3 L; V' M, |/ R+ M! z3 U% `end
/ l' i5 Z' D7 G: X' R# n3 L之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-26 13:19 , Processed in 0.016077 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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