设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4247|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. T) U! n7 O* E9 [
' b6 p/ D+ g; M. o* Q' T& O但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
* J) j! ]5 I9 O1 w7 _
7 O1 l% T  J- z" ~' Zturtles-own [a b c d k f g h' k  ~8 ?! K- E! i) c5 ~  p
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle & e- F  v  J8 B  g' p+ m0 J
]
" }1 v! _6 q- k& N: [! k" K- cto new
. h4 J2 [0 x( Z/ m- l1 J  ca
9 T, n5 E, G$ v9 L: @  crt 5 * num_of_building
5 z# e7 m% K) o* v* r  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]* i( o  S8 J$ |, o2 ]4 }
  scatter     ;;keep center-turtle random positions $ u* A; O3 ^( C$ B. f" i( \
  unit_plan   ;;make up the building plan
8 k9 V, w1 r: `. ?. _end
  w+ m$ i5 R  O& ^$ B# u. |to scatter
7 \9 x) A6 I2 d4 C+ pask turtles with [remainder who 5 = 0]* ?$ P& k$ ?0 Q
[
, W: R% ^4 f. ~" Gset xcor xcor - 6 + random-float 15
1 o7 _" g3 Y$ N* t0 s1 F3 O4 Vset ycor ycor - 6 + random-float 15, b0 o1 I! d. k8 D/ ?& H
]
. F( Y' l% y9 U' S) jend( F, ^1 y6 O7 X" J1 S: q1 x' \
to unit_plan : M, J- z, z& C* ?: N7 j
ask turtles [
' c' G- Q3 {3 `; Dif (remainder who 5 = 1) [set a who 6 G+ p% r; _- B2 [
                          set x ( 0 - Wid / 2 )
4 w# s. ]" j4 Y# b$ Z! @! h                          set y  Dep / 2 ]
: v7 q8 j  [) g5 ?( `: l7 F4 {           set b  int (a / 5) * 5. s2 M" L+ S  S! W7 k$ j: s6 B
    setxy ( xcor-of turtle b + x )# ^! w9 D/ L1 @7 E
          ( ycor-of turtle b + y )
1 [4 I5 ^* E$ d# N3 N$ P/ V( [3 Iif (remainder who 5 = 2) [set c who
! \# q/ }# |; `+ H/ j                          set x ( 0 - Wid / 2 )
: l  C- W6 f3 T3 E4 K                          set y (0 - Dep / 2 )  ]' L' P9 ~/ L+ y, e( R# L' l
                          set d int (c / 5) * 5
  B1 N/ R7 a$ ~   setxy   ( xcor-of turtle d + x )
7 s3 g# W5 @. i# I0 E           (ycor-of turtle d + y )
3 {' D6 u& o* O% a         
! G5 I( }. {  R8 E! |% ?* ^            
9 z, A( W5 H/ h" u0 sif (remainder who 5 = 3) [set k who
, n" ?5 Y5 E+ f                          set x( Wid / 2)  
* l, H2 O8 B/ ]' e6 Q. R- M+ F                          set y (0 - Dep / 2 ) ]4 ]& O- L( o2 q  C' ?5 v5 G
                          set f int (k / 5) * 54 h4 T9 J3 p. J8 L9 p
  setxy   ( xcor-of turtle f + x ); a# n: _) E6 Z$ |1 f; k
           (ycor-of turtle f + y )
$ i/ Q: I3 @5 y/ Q: a+ N: P* r  B/ s           
$ }8 p6 U5 O5 v& R           , C7 N7 i8 t. _% ?# c+ E
if (remainder who 5 = 4) [set g who4 W0 K% V7 p; d
                          set x Wid / 2 6 D* x- t" q. \' N% g8 `% \5 E! O7 i/ z
                          set y  Dep / 2 ]( e0 p0 x; f" w& f) E' T0 c
                          set h  int (g / 5) * 57 ]* [; A8 F* y$ v* g2 D
  setxy   ( xcor-of turtle h + x )
* r9 l3 ]6 m! m' n8 |           (ycor-of turtle h + y ) $ N) F  M: }9 X  ^( l. O: R
                          
9 W4 ?. }& _* Q- b* R                          : p+ N' o# J8 D& q
                          ]& x8 d. R: @& s/ [& T" H- q1 h
end
3 D( F0 F- t2 m# X2 C/ r) S" \2 _
1 ^% s4 I" j7 S1 q7 `6 }[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,5 w8 g7 y$ A( W* H) d' q
应该是
9 |9 `2 [7 b  y5 n1 Q3 hask turtles [
- a- {3 }2 L2 z: H) n  \if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
4 k# ?# F2 O4 W) A1 m. P4 k8 A                          set y  Dep / 2
2 f: Z/ ?# h( ?, [9 T4 P           set b  int (who / 5) * 5# J6 `" A; u" J$ X: y
    setxy ( xcor-of turtle b + x )8 [1 h; |- x% N) }* P/ W9 m1 B
          ( ycor-of turtle b + y )]]
' R. W( y7 C$ h" ~& Iend
: z9 d8 b# l" T8 y' L1 p6 E' o. t之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-11 08:16 , Processed in 0.013420 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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