设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6751|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。) v4 Z! ~7 P& [8 V# h. h9 F
. B: h0 D) }9 S8 k* k
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
! A  n- ^8 P4 K2 s( _) I, J# m% S% A, Z0 s
turtles-own [a b c d k f g h
9 W7 u& z7 l- D( i3 ]5 w, y# k  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
* x" n7 w. ~1 D! X+ h4 ]2 X]3 [( @+ r1 T  `; {) |1 Q
to new: z, J7 p# |1 ^4 z
  ca
' s$ M- y4 b! L2 f% Q  crt 5 * num_of_building
1 _, S: b3 l- d4 O7 O  D  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]0 e) b! \% x5 W" l' `1 n9 d
  scatter     ;;keep center-turtle random positions 1 r$ @- i0 L* `# Q. l5 w
  unit_plan   ;;make up the building plan
0 s' A: z5 z+ V9 N5 F! ]7 I) Dend
1 i5 p# T/ {0 J$ N% k/ {to scatter
& c5 e3 y" ~" Uask turtles with [remainder who 5 = 0]. q4 B& w9 O  f! m
[
' G7 b% ^" p" W' [) g! T6 J. Yset xcor xcor - 6 + random-float 156 z5 T7 F3 b# z% p5 k
set ycor ycor - 6 + random-float 15, t& f5 P: U2 `
]4 F" A  E0 g5 @& A3 L8 E
end
* m& c+ G. }. N3 D- ^  u$ fto unit_plan ( A- u+ N1 M& U- G
ask turtles [
4 x6 y& t# ?3 `) o6 x6 ?2 `if (remainder who 5 = 1) [set a who
; q& E5 ]8 z! R- @                          set x ( 0 - Wid / 2 ) ! q. k: X8 h5 |* N# u: T6 A) ^
                          set y  Dep / 2 ]
3 j! ]% n9 x8 f8 G* t           set b  int (a / 5) * 5; R. @& H" n& r+ s- B
    setxy ( xcor-of turtle b + x )
+ ]( W, D$ c$ y+ \# {          ( ycor-of turtle b + y )
" M/ L9 O7 d9 K2 m& dif (remainder who 5 = 2) [set c who
7 D& e2 M0 v' `$ _, p  j- Q; O, p                          set x ( 0 - Wid / 2 )
, b0 k9 k$ v! W                          set y (0 - Dep / 2 )  ]7 f1 S  E6 E4 w" K
                          set d int (c / 5) * 5
- O  e1 r% \) g) m% X9 |! ?   setxy   ( xcor-of turtle d + x )
9 v! O# n9 p( W4 V& ?           (ycor-of turtle d + y ) + a$ I1 B; q' R
          2 W2 m0 u) T+ l7 A9 i8 o
            9 F* N7 c, c$ p" I
if (remainder who 5 = 3) [set k who
5 H$ u, }; \# ^6 a, j                          set x( Wid / 2)  
! _: \7 T; j& ^& y                          set y (0 - Dep / 2 ) ]4 T% Z- y- G' v3 m7 i
                          set f int (k / 5) * 5
  o. @# H$ q  g8 C1 `  setxy   ( xcor-of turtle f + x )( H, X$ n/ f3 |$ M- r
           (ycor-of turtle f + y )   ]: d4 ^6 Y  @6 v' j( w; P
           
# x( `* @# R$ E% @$ [           
- J: t! W) @$ V: F! V9 i2 `0 c% `if (remainder who 5 = 4) [set g who5 |* J0 n  s5 T, ^( s- g
                          set x Wid / 2
9 z5 q6 U% a" m. K                          set y  Dep / 2 ]( ], y) y* g  Y2 o, c
                          set h  int (g / 5) * 5# A2 |  d7 a6 ^# V3 _
  setxy   ( xcor-of turtle h + x )8 n$ T; X- g7 ]0 c; m8 E/ U
           (ycor-of turtle h + y )
5 y( K( D1 d5 J6 U/ a- Y/ k8 R                          ; R! W6 _& L6 [
                          / m5 ?. L; S! r3 H* t, V
                          ]
: x* }% [' ?0 O4 n1 Eend
4 Q4 _9 P3 U. g( V. o4 E$ Y5 w0 @  @3 P+ u. \# \: N
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- Z% g* ?! O  ~* Y- Q+ {5 p# U
应该是
7 A2 J* T: N+ Z  gask turtles [
% M7 j$ X+ ^/ X) H; i" Jif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) W) ]  R+ J3 b& R2 J
                          set y  Dep / 2 9 I" _8 B2 @# ^6 U' }" B
           set b  int (who / 5) * 55 w9 [4 D1 L7 |6 B
    setxy ( xcor-of turtle b + x )
8 w+ M/ p: C& d1 V! F          ( ycor-of turtle b + y )]]
; F6 y$ z  v' T$ G5 fend) w- D- u4 i+ D9 I9 L; R6 D- A
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-20 16:30 , Processed in 0.019092 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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