设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7390|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。. ^5 R' c8 l# r! h9 [5 {( m& h
; F8 v, o8 l: |6 }7 b
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。: Z: k/ e: ?# ?; j3 B5 x. M3 Z( J
- T+ L. {* s8 n
turtles-own [a b c d k f g h
5 R6 X. n! }# L- b" n2 k% [  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
7 |, n" s+ W6 n" A1 R]: w. R5 y7 o- R
to new1 v) {& E& l0 @# J) h% a
  ca
1 t% d: s) F# P  crt 5 * num_of_building% r% K2 m# W9 t8 c) }
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
- N5 x3 b0 B1 \& A# w4 J2 U: N  scatter     ;;keep center-turtle random positions % k4 S+ l1 y0 {& i4 j; ?
  unit_plan   ;;make up the building plan  a3 R8 K7 |0 ]8 [- v, n' u) I4 v
end
9 `; k4 D4 p5 l5 P% P3 oto scatter, E" `. |2 d- T# Z9 V
ask turtles with [remainder who 5 = 0]8 E3 ^; m9 c7 M. O' L
[1 x5 Q4 m; }* D  k( Z
set xcor xcor - 6 + random-float 15) f7 L/ v( M/ T  N% z; f
set ycor ycor - 6 + random-float 15
: r4 U6 R) e+ x% n]
/ D- J6 [3 c* e0 D% `/ U( M) jend
1 i0 ^* n- K% u4 B& D; q9 ~' {to unit_plan
6 o, j3 N0 }! p* Q! `" i3 kask turtles [) l5 B. c6 s; x. ?+ j
if (remainder who 5 = 1) [set a who
. z9 U' i7 w9 [' N5 e. h                          set x ( 0 - Wid / 2 ) 4 X, l* L. U) B& j' d9 }
                          set y  Dep / 2 ]6 H! ?2 i( B& g) u" l
           set b  int (a / 5) * 5% Y: ^: h% C& z' f4 }! Y; r/ z2 l9 d
    setxy ( xcor-of turtle b + x )
2 @% K0 e& e5 `; a6 ~1 d' {          ( ycor-of turtle b + y )
* i( W+ d/ g0 x. l9 Yif (remainder who 5 = 2) [set c who
& ?6 A2 N4 w/ n# B6 T4 B% [                          set x ( 0 - Wid / 2 ) - o  ?' e% I& B5 j, }5 t( h$ b
                          set y (0 - Dep / 2 )  ]8 l& x  R1 ^4 u
                          set d int (c / 5) * 5
! p& G9 U0 |' z! u4 {4 Q* \   setxy   ( xcor-of turtle d + x )% _8 p8 l( E2 R6 E8 q0 a! t/ F4 a& ]
           (ycor-of turtle d + y )
( C& i( u$ p& T          6 z; U3 _  E1 J+ Y9 W- L9 L& _
            
$ ~. _% D5 X% s& N0 Sif (remainder who 5 = 3) [set k who9 a9 F4 g& U" N5 N9 ^6 n& p
                          set x( Wid / 2)  0 g" b- ^2 {/ `* b( e* ]6 {
                          set y (0 - Dep / 2 ) ]
  b9 ^, l+ g7 O3 @* ~; I. \                          set f int (k / 5) * 5; n$ Q3 T2 E, U& N
  setxy   ( xcor-of turtle f + x )$ c% D' \3 Y3 Q1 ]1 N; J, ]3 H3 \5 Y# U
           (ycor-of turtle f + y )
1 E. K  q. m5 J: R           
1 O- D0 T, A% g. ?           
2 y! t- H0 K5 g. J- H5 Iif (remainder who 5 = 4) [set g who) @6 ?- u% x- S& {3 v4 l6 k
                          set x Wid / 2
% i0 L4 E$ ]: N5 S7 s, Y6 m, }" e                          set y  Dep / 2 ]  G) Y( A, l7 J2 B' u5 x. i
                          set h  int (g / 5) * 5( n& t9 c2 G$ x# r* W% p
  setxy   ( xcor-of turtle h + x )5 V; z# ^$ G) d  O9 m: h
           (ycor-of turtle h + y ) 3 U1 I" A, `, j3 d7 d
                          # i8 Q8 o  G( D0 h* P
                          
- L  i% K) P8 M3 n                          ]
- r2 I8 J% u6 Bend
6 b" O) E; p% g. L9 i  q1 q0 ]4 `" v- W$ |: \( {
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,* j5 `* P3 t4 c0 O) S7 n
应该是
" |" [) y# G  rask turtles [
7 j* L# V1 K# z& v$ t+ bif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) Z2 B; D* S9 A3 c% W# v9 o
                          set y  Dep / 2
. U5 S  u4 }6 w' O" |$ L" [           set b  int (who / 5) * 5
" l/ ~. ]7 `4 o9 A6 o+ x9 U    setxy ( xcor-of turtle b + x )* j6 S4 n9 [- h$ {0 M
          ( ycor-of turtle b + y )]]
+ Z* Z0 {- G2 [1 l. D& c) Fend0 f) [5 B' t" A4 p& T& `" p
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-6 23:41 , Processed in 0.018222 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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