设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8166|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。' g1 I+ Q. {- R2 [5 ~. R5 ^6 e
7 J8 J/ I- Q" y9 Q
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
' F, }9 P' c, i$ A' }+ v; R7 ?0 _; }
turtles-own [a b c d k f g h8 f" Q4 `; ^/ n' w8 ?& I$ L  s
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
* c- v7 D8 x: Q/ N6 A6 o3 t]& K- \, ^6 d5 X0 R
to new1 V+ v' M) x' T% ]' x  M
  ca
- |7 W& [1 z  d( O8 x+ O9 i* `+ `  crt 5 * num_of_building& J+ G, F) W8 h% ~4 I/ J0 h0 M: I
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]; J3 C: P' T# ^6 e
  scatter     ;;keep center-turtle random positions 6 w( y* c$ m5 u; z- H% N9 V
  unit_plan   ;;make up the building plan
+ R6 Q. P) s' H$ Uend
) `( k0 u7 s2 F6 l" H4 kto scatter& {+ B0 ], ?' e! N* B5 x5 n* u0 G: [8 j
ask turtles with [remainder who 5 = 0]3 k4 ~% d2 |& N; [0 H6 g8 e
[# X. r) i( y  x( t
set xcor xcor - 6 + random-float 15
! X  j0 \% k) C, a; Eset ycor ycor - 6 + random-float 15
, W4 B8 H) S. R& a( B! s]
! G0 k' @7 @) `* R2 cend
- E: h1 K, d; A9 uto unit_plan 8 |  K0 v* p& k4 c( Q1 B
ask turtles [
& A6 R4 k0 ^" Qif (remainder who 5 = 1) [set a who
( c4 }' s0 p4 l$ L8 y  j- G' \) |                          set x ( 0 - Wid / 2 ) * \- P. \- A( c$ t2 B8 K5 N% l
                          set y  Dep / 2 ]5 n& \4 [% {1 F( U  K
           set b  int (a / 5) * 5
- U" B& G6 V0 ~9 w! a$ C    setxy ( xcor-of turtle b + x )
( S* _; m  c+ ?          ( ycor-of turtle b + y )$ O5 q3 {% ?7 v7 [2 d( }% M
if (remainder who 5 = 2) [set c who4 _2 `% q  b- U! O2 A$ r
                          set x ( 0 - Wid / 2 ) ' S7 v: D( K  O7 s) L
                          set y (0 - Dep / 2 )  ]
' U. |& ~6 s( p! w3 p0 r( r2 u                          set d int (c / 5) * 5% |: Q' I; U' G3 Z8 K/ i8 L& s
   setxy   ( xcor-of turtle d + x )
. ~2 b- h6 O0 Z6 a2 ], L' S7 o           (ycor-of turtle d + y )
" K4 x1 O3 f' z, V# r! W1 z4 l          5 D5 W$ |, X5 x/ z3 ]
            
/ \+ f  n* x) ^0 t+ s' R5 U6 w. kif (remainder who 5 = 3) [set k who
3 A% `# p: W7 x0 D8 u4 d; v: b1 d                          set x( Wid / 2)  
# L: k: f: u) X7 Q6 T                          set y (0 - Dep / 2 ) ]5 s( ]8 W, _- T, E8 V4 @0 a
                          set f int (k / 5) * 5$ N8 n0 ^+ }  W; G; n  r
  setxy   ( xcor-of turtle f + x )
0 m1 Q. ?. ]% E% Z6 K1 p9 l5 @! i           (ycor-of turtle f + y ) $ N$ y" s; m) o1 R! z5 E( L4 N  h
           4 Z* ~- w3 P: m  h  ?9 s' Y' x7 ^
           9 T0 `% \% a, {; @( r  s  z) i
if (remainder who 5 = 4) [set g who: p" _( E8 f0 m
                          set x Wid / 2
" ]! L$ d1 u+ i- C( |                          set y  Dep / 2 ]. Q- g# E6 b# W6 s0 K" E# z
                          set h  int (g / 5) * 5, i1 Q( l3 a+ H% N
  setxy   ( xcor-of turtle h + x )# u, L# k( u% y
           (ycor-of turtle h + y )
" \% V& I' y, t9 K                          
% }2 Z6 Z2 n. W$ n% V, i" b& S                          
; b9 L* j4 [2 m. l                          ]
- Q/ R. l( a3 |% l5 P0 d# a5 pend- @9 d9 u# T7 D; c/ P
3 U% X- F' r& U9 X
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- a9 H2 |, u. [3 A2 ^$ a  ~2 c5 d
应该是
0 k) P2 H3 m& K  C7 ^7 b- T; nask turtles [
; U1 |& t- P/ T& Oif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) E( x, s) ?9 Y6 Y- X% q# e
                          set y  Dep / 2
+ e- X/ C9 N( p           set b  int (who / 5) * 5
6 @  \/ Z" l& i    setxy ( xcor-of turtle b + x )
3 S& S2 M2 K5 _) m1 |1 I; K          ( ycor-of turtle b + y )]]
8 T& U4 h2 K- {8 ?end
! M* O4 t7 n- n) S, i. j3 ^) t之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-14 02:26 , Processed in 0.014199 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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