设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8062|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
: D# t: d: K, O0 y5 j9 s% S" ~7 @3 B
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
! m& S1 ]: ]5 u* n7 ?4 {7 P' c+ E* q/ O7 ]2 `( u
turtles-own [a b c d k f g h
3 l* V" C$ a& a: P( G  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
1 r; t% ~  Q% L8 v" p; z9 X]; n- u  h- H& d0 p
to new
' E" k5 J# C9 ~4 C6 i  ca$ k+ [4 Y% E/ S9 E5 u) M- m
  crt 5 * num_of_building
, j9 O. v- B( o- \$ B: ^. ?2 i( ^8 D4 n( w  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
, ], i# c; L) i7 |  q% {$ L9 @' _  scatter     ;;keep center-turtle random positions & y. l4 e2 N$ F5 L
  unit_plan   ;;make up the building plan
+ L; a6 l; Y$ X' dend
& k4 G+ Z( y. Ito scatter
; Z. H2 B1 t5 G2 ?% g4 l( dask turtles with [remainder who 5 = 0]
5 m: h- V% a2 C4 G' `- b# [[
# P7 a- F9 Q7 N% x% V3 Iset xcor xcor - 6 + random-float 15$ x$ z% t9 e3 k1 b# X
set ycor ycor - 6 + random-float 151 u5 c2 b$ w; D( J$ \/ [+ K
]8 y4 K4 l/ u( N; j8 `3 O3 \
end
3 ]+ S9 u! s  |# r# O( Uto unit_plan
; Q5 \3 U( e/ J2 C: _ask turtles [
4 R/ N0 O# Q6 {, H; f. Iif (remainder who 5 = 1) [set a who $ F) k4 c' }4 k+ O5 ~/ k6 a& B
                          set x ( 0 - Wid / 2 ) 3 @3 W* V* v% l4 B) i
                          set y  Dep / 2 ]: O: c( C8 F! y& y6 i6 z
           set b  int (a / 5) * 5; B* D% _6 b0 q, G3 @/ P
    setxy ( xcor-of turtle b + x ), l% m: I4 X3 V! a, M" ]
          ( ycor-of turtle b + y )0 T5 O+ R  Q% ^6 r
if (remainder who 5 = 2) [set c who: i6 v7 E; T- @6 ^& i+ M. B8 _
                          set x ( 0 - Wid / 2 ) 2 @) ^$ s: c3 J/ }
                          set y (0 - Dep / 2 )  ]- r) `# m/ P' Y2 b, w- E
                          set d int (c / 5) * 5# T) R; s& l, P" a' b0 X
   setxy   ( xcor-of turtle d + x )
" o, h$ i+ }$ v           (ycor-of turtle d + y )
9 d4 `  n& I. h& u         
7 A8 a  m4 \2 @9 d; z- Z            
$ W% w( i0 s' u+ a- T  [6 bif (remainder who 5 = 3) [set k who
, d' y# f, ]; A# p  [3 M! J3 ~                          set x( Wid / 2)  
, i- n4 r  }5 {; @* M7 F9 P8 Z                          set y (0 - Dep / 2 ) ]
$ w" ]9 [0 \/ A5 t2 M. U0 ~                          set f int (k / 5) * 5
. R5 }% P+ s  F  E8 {  setxy   ( xcor-of turtle f + x )
9 o! ~, G* R" U           (ycor-of turtle f + y )
5 R0 u" b) I& j' ]$ t' x- r           ! g5 l" T4 i) v( i% p: o: F
           ) M7 r# s2 V( b
if (remainder who 5 = 4) [set g who
. n6 A$ }) P8 Q# j- X                          set x Wid / 2
! b2 c+ }0 U, E3 T5 d                          set y  Dep / 2 ]3 V& L4 P3 ^! G
                          set h  int (g / 5) * 5. f; b! F- o8 s8 \- b+ M
  setxy   ( xcor-of turtle h + x )
( w, h" Z3 K$ K           (ycor-of turtle h + y )
/ q) E' X" O  \! @                          
$ P" v1 a0 D, R" V                          
$ r) ]2 _/ t& |& l, x* E/ ]2 V                          ]- J7 F5 ^) h4 c* q: K; F* I9 Y: I
end
6 @: Y7 b  ?2 M& t
" s2 A" @* Y# J; ]3 S[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,+ J- p; u) G. n$ W1 C/ B% z1 y
应该是
" S7 p) |: t) [0 a/ hask turtles [9 F  _  {0 L6 A" D: l" D
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
  h  y. U* ^2 ]2 p" Q4 Q8 {                          set y  Dep / 2 % z3 \2 L: Q, y; g6 i
           set b  int (who / 5) * 55 R- k& J+ w* k, W9 r* b
    setxy ( xcor-of turtle b + x )) B% o7 ]5 G1 b/ Z4 e) U. p8 r
          ( ycor-of turtle b + y )]]$ k8 g, v1 C4 g+ f8 O- ~
end
/ u% \9 ]; H* N# \, N之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-2 18:04 , Processed in 0.019337 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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