设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7480|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
+ d1 B& j* q( ?4 @9 v, Q  P/ H0 g. w3 W" P, g3 p# M$ `
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。( @; h' y7 e4 H& n! M0 g, o; m
3 q# }& n, m$ G( U7 I1 j, m
turtles-own [a b c d k f g h+ K3 W0 F4 r8 R* K- ~% N
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 3 {1 Z* }% q% g$ T* q1 G
]6 V* ]4 m0 g" l4 e
to new
; z; S6 A* N8 L/ B1 W  ca) u/ W) C# B/ l+ c
  crt 5 * num_of_building
0 T5 B/ y: m! e" Y4 O9 G# I  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
. {# S3 I! g6 }5 _. O! l- E- `: ?  scatter     ;;keep center-turtle random positions / H3 D% e1 N$ G7 N, U
  unit_plan   ;;make up the building plan
' O$ G3 Y% Z0 i! Q# Tend2 z3 [. b( z% o) [1 O
to scatter* Z6 A% M7 G; X' ]- y  W. K" i
ask turtles with [remainder who 5 = 0]" p" [7 D, B. v6 ^% E. U; u
[
! J2 S- @+ @' B) t* P" |set xcor xcor - 6 + random-float 15$ C: t* x% T4 c$ f3 z$ L+ m
set ycor ycor - 6 + random-float 15
- K5 k4 {$ a1 e! O0 {]$ g: W5 b( p" e0 G
end
% h6 p# b3 ^4 O2 M, V! u5 r4 [to unit_plan
; Y+ E; n" d. M5 b# `; ?8 Jask turtles [" v4 c' `1 ~2 r1 O; N1 S
if (remainder who 5 = 1) [set a who 0 g5 S1 y# v% L! G9 }5 E6 x, c
                          set x ( 0 - Wid / 2 )
2 c* G+ S8 R0 X  v6 e) U: t                          set y  Dep / 2 ], {- k1 P# u: y
           set b  int (a / 5) * 5
! ~4 S( T; u, b' b( u% M    setxy ( xcor-of turtle b + x )0 y" R1 u9 E. m' d+ }; ?. m
          ( ycor-of turtle b + y )3 p8 y* Q, P. U& b
if (remainder who 5 = 2) [set c who
" G1 I' @# k( K                          set x ( 0 - Wid / 2 ) 2 F& ?" U. L8 _: J
                          set y (0 - Dep / 2 )  ]
% T+ d# g6 E: N* L! _$ b  D                          set d int (c / 5) * 5
8 U; L0 @$ u8 c6 N% e5 u5 }2 ?   setxy   ( xcor-of turtle d + x )
6 Z% G7 w4 k2 L/ a8 F4 l           (ycor-of turtle d + y ) 2 I" K! Y% X1 `- B
            ~+ S4 i7 _- g' k/ y2 |/ F3 ~+ `
            * f2 b  M6 u- K& z3 T
if (remainder who 5 = 3) [set k who
( U7 f7 S; g8 V, n0 P7 O$ h                          set x( Wid / 2)  
% X* a; S5 v1 O; c& f( a                          set y (0 - Dep / 2 ) ]6 }2 o# _& {4 y6 W1 D
                          set f int (k / 5) * 5: r! A% J6 A& ^
  setxy   ( xcor-of turtle f + x )) O5 k- a* b. h4 X  T( N, e3 {" A4 P
           (ycor-of turtle f + y )
. ?3 `7 M3 e2 {9 }           ) o/ P# G) A% \# \
           9 ?# B* n& `) R. I
if (remainder who 5 = 4) [set g who3 j7 F- X/ z1 v& g
                          set x Wid / 2
! o6 S4 I- h# ^8 g( D                          set y  Dep / 2 ]1 _+ N/ k' Y" S+ y5 B
                          set h  int (g / 5) * 5
, M2 h5 x' ]! D# O) X* W# Q$ n6 A  setxy   ( xcor-of turtle h + x )
2 y0 K; d* T& `& h           (ycor-of turtle h + y ) 1 J8 P( T+ e% d) X0 r. k% q4 J
                          
" o" ~# I3 U6 l( H; D2 ?' e                          
( ~/ [7 @, ~6 e+ ?1 E                          ]
$ r1 `% W; J( z1 S5 K5 \end
9 D  t) S9 \; F& P
9 s+ o- d  B4 c[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
( P" E& w6 l5 n5 I+ a4 y: M应该是
2 ~4 C2 `3 W- i1 Wask turtles [( k: h1 v4 B% a7 \6 |9 K2 P( a/ ~) X+ h
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 Q, Y9 x' y0 F  w0 B- ]                          set y  Dep / 2   g5 t, M/ t8 c
           set b  int (who / 5) * 5
# @3 i6 D& H; j  {  t    setxy ( xcor-of turtle b + x )! ]+ Y2 L$ [) g" _" D' M
          ( ycor-of turtle b + y )]]
5 v8 d1 j1 a1 i; I  t* }& o0 P9 A# Hend) M0 I: T, `* O2 |! A* B0 c
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-16 02:28 , Processed in 0.019573 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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