设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6998|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。) l# w. S" ^8 d5 F5 J' Q

0 A* R0 o! g1 Z2 ]但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。6 U. D& L! a3 W9 _

5 R6 l/ T( j& X* }turtles-own [a b c d k f g h
- n0 A9 A2 s+ Z5 y- J4 ?  x y     ;; these are the leaf-turtle's offsets relative to center-turtle . K2 z* p' c$ c' J* E( }2 |
]* }1 }/ B0 A' x3 S+ @* b; P
to new+ O3 g+ g% W2 P. l$ x; G
  ca. D( C, w9 F3 k
  crt 5 * num_of_building
9 r; h0 u& ^5 ~; @% U' n  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 b% T- d' \9 G% f7 p) \
  scatter     ;;keep center-turtle random positions
3 Q- [7 P9 A3 Q/ s# q$ T% x  unit_plan   ;;make up the building plan6 p5 Q  i& T2 V  w. \
end7 M9 Z/ P' f$ X9 F
to scatter6 y8 \0 W3 ?7 S, e+ m; ?
ask turtles with [remainder who 5 = 0]$ S  C0 p" W. x! g& `+ ^
[
* E2 q: U$ R2 G+ R8 j* d7 pset xcor xcor - 6 + random-float 15
- {$ s& i, }, {3 D, `set ycor ycor - 6 + random-float 15* W! w* y6 T- W! |# x& g2 E" U$ V
]# p9 \: ~* D# t+ b! ]
end
; _4 q# Y: w) X( sto unit_plan 9 X, j0 P  D8 U$ A
ask turtles [/ O; i" L! \& y0 L& Q  Y
if (remainder who 5 = 1) [set a who # F- E* x; d: I" a) y% c$ k6 n& E
                          set x ( 0 - Wid / 2 ) 5 p  c. h. ]7 x; {4 a2 g* n
                          set y  Dep / 2 ]# H% w6 b) `* \) [" |& L. a
           set b  int (a / 5) * 5
4 A( J5 v" X" I4 t    setxy ( xcor-of turtle b + x )+ }# g" q0 p: ]8 p: p& P! a* F
          ( ycor-of turtle b + y )# D5 p2 P% ]! `9 z
if (remainder who 5 = 2) [set c who
" V/ x( {3 T, {" z                          set x ( 0 - Wid / 2 )
/ K4 D$ g( |! v. \; O! @                          set y (0 - Dep / 2 )  ]
  ?3 V8 f' v: e                          set d int (c / 5) * 5
- D5 O% k2 W6 B5 z   setxy   ( xcor-of turtle d + x )
- @* u4 _2 B4 h; l4 [           (ycor-of turtle d + y )
! B1 J  s! a' {          8 Y2 K/ b- ]* v9 S8 `
            
) o6 [! R7 t. {: ?7 b' P$ Aif (remainder who 5 = 3) [set k who) X5 V; R' P7 f) _" ^0 h/ J
                          set x( Wid / 2)  $ v/ l, O& s2 y1 A2 [* g- W
                          set y (0 - Dep / 2 ) ]$ m8 P  r6 ~7 o7 h* n
                          set f int (k / 5) * 5
! L" t  ?  Y% k! F: X' C" p  setxy   ( xcor-of turtle f + x )
' M. U& A: D* V( J* N1 @/ e           (ycor-of turtle f + y ) # [0 ?. E9 m& l7 \
           
6 {$ K. ?+ Y4 M  T           % K/ B6 k% \2 h) Z/ F8 V/ E
if (remainder who 5 = 4) [set g who
- A9 ^* B7 p) c) [" `                          set x Wid / 2
2 r" B# V# Y/ n) R6 v                          set y  Dep / 2 ]# O8 I0 g$ U% d
                          set h  int (g / 5) * 5
: ^# R3 ^9 p0 B1 k* m  setxy   ( xcor-of turtle h + x )/ U4 z2 P4 h' C( _3 D& h: j
           (ycor-of turtle h + y )
4 L9 T! x& u5 ^                          $ F. u& u! h0 c4 c2 n! V+ ?
                          
7 e) H  k' |  f+ V5 k                          ]3 j# P4 w# W  O' x" H9 o- W& h
end! C2 F# b2 c' ]
! k3 g% _" c1 a& T2 @
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 ?- F9 \! X' O- R
应该是: [4 \& R9 Q8 e
ask turtles [, s1 @% z1 g! {& \# H
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# F, C3 o; M5 f6 g) E                          set y  Dep / 2 + z" S2 D7 s* v2 [
           set b  int (who / 5) * 56 ^) ?6 a# X8 R/ r, |$ ]" B" V
    setxy ( xcor-of turtle b + x )8 d9 ]0 e8 A% M! p( r2 L
          ( ycor-of turtle b + y )]], M  @, K4 @; h' B( X1 B! {7 H7 F6 @
end5 O$ K3 j: h4 S" D' b! o
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-16 20:32 , Processed in 0.014888 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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