设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7369|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
' P$ z6 m9 _# B3 U$ m" _* u' i
  {5 ], c* t6 w) S: J) Z% w. i, c. Q$ B但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
0 _/ w+ a9 K$ w" |8 e6 l- t6 Z& ^0 y6 p* c! D( t
turtles-own [a b c d k f g h
$ _$ Q/ l& M! h1 y+ H+ ?8 R9 E  x y     ;; these are the leaf-turtle's offsets relative to center-turtle $ Q1 k6 g, T$ a  V, y6 T- W: x' z
]
1 [9 U# O' f0 a- Bto new( @( {) E& @5 Q$ m
  ca6 `& }4 ^- _2 E: z
  crt 5 * num_of_building
- S3 J) A9 p* A- b5 N  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
0 o; g# ]' a* c( Y3 ]) H4 p  scatter     ;;keep center-turtle random positions 1 i0 F* A) U. Y8 H
  unit_plan   ;;make up the building plan
5 f' K. _8 y/ p$ Mend7 g, C7 j0 b6 d
to scatter1 y/ _& L' t% B, P6 T' A
ask turtles with [remainder who 5 = 0]
: a4 U) |0 k1 O5 l4 F[9 ?* O7 ~! D# k, |
set xcor xcor - 6 + random-float 156 h5 L$ E& r/ Y8 m3 U
set ycor ycor - 6 + random-float 15( M2 I* g$ I! F% V. f
]. H( W* N# l# T5 {' Y
end6 G  a) d3 K: T; d! c
to unit_plan   T: W& L6 d2 N5 f+ ?8 g$ x
ask turtles [
' G. C: T! F% A  v9 I9 o& f- Oif (remainder who 5 = 1) [set a who
! I& o  R1 L$ _5 ]5 l1 k                          set x ( 0 - Wid / 2 ) * t) ^2 \7 J: ^
                          set y  Dep / 2 ]3 L* p- i( P* e- J, E% t
           set b  int (a / 5) * 5
; ^9 x$ F! L- ?. a/ z    setxy ( xcor-of turtle b + x )
! ~* v% s/ k& I, c0 f7 }          ( ycor-of turtle b + y )
0 F! P  D; n' U! w- ]% k* R/ Lif (remainder who 5 = 2) [set c who
/ ~( A9 U" a6 v                          set x ( 0 - Wid / 2 ) 0 @7 U7 l, x3 k& R9 y
                          set y (0 - Dep / 2 )  ]+ l& `8 M7 N  `8 Y" v" {& D* x
                          set d int (c / 5) * 5
9 i) g. J" _5 R   setxy   ( xcor-of turtle d + x )) p& `# p1 A. E9 _0 a
           (ycor-of turtle d + y )
5 L: T" u% |1 A; D; Y5 P          1 m/ a# k& n" T% z! L# U
            : K; x9 a' Y, M* O8 T6 [
if (remainder who 5 = 3) [set k who" y4 o; p1 x$ F! a3 `  N( c$ t1 x
                          set x( Wid / 2)  6 ~7 M. \/ P0 h) ?( w' {
                          set y (0 - Dep / 2 ) ]
! o/ _  [$ e1 }: D1 N# {; T                          set f int (k / 5) * 58 [1 W2 k3 B& M- K: x
  setxy   ( xcor-of turtle f + x )+ d/ Q. @( |3 K  z
           (ycor-of turtle f + y )
5 p: m* j- W. ~' g5 j& U# l           
* ]" R/ Q( ^3 S  A6 b! i( }5 }. b           
8 X7 S- B! c# ]8 i  o; {if (remainder who 5 = 4) [set g who
# q* U% `8 r, s5 \5 ]                          set x Wid / 2
! T7 o3 f8 h" c8 B3 I                          set y  Dep / 2 ]
5 ?& N7 H+ {5 W* S9 Q9 g) u                          set h  int (g / 5) * 5
3 ?  P2 P5 A1 M1 o2 Z  setxy   ( xcor-of turtle h + x ); n) G1 `' O# \7 {0 @) X3 A0 D
           (ycor-of turtle h + y ) ) y$ z! v* P/ |
                          " v) A$ d) b! b/ r! `2 [" O4 Y7 N
                          
4 n. J4 ~, F( n" {* b2 K" O/ J' S                          ]6 s; L3 O" P# h* c, x" _0 [
end
$ S/ t- ?% K0 V# O/ W( H; [
; C, h9 ^6 V, s8 R( E6 t[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,: Z3 o- _/ Z$ z. v3 J
应该是: Y* H& {' l4 r4 X/ @5 a% ?
ask turtles [9 K* q7 T8 _$ b) R( W; a
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) , o  }8 n3 j* X& W/ \
                          set y  Dep / 2 $ m9 O( u# f- c3 o( L+ J0 m: ]
           set b  int (who / 5) * 5
9 V% q* p2 m7 x. I    setxy ( xcor-of turtle b + x )! ]+ T* A. C$ V2 l* ]
          ( ycor-of turtle b + y )]]
% B+ n! j+ P/ \4 U5 P8 c' rend
2 L" u% I; ~; r4 C7 n( p  c7 D之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-4 13:51 , Processed in 0.013610 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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