设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6827|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
5 l3 f1 M- ^6 z9 O' o; y; ^( w- s. [8 f* ?0 {
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。  y0 a- M! L/ {' v

* Y7 A6 u6 I2 tturtles-own [a b c d k f g h2 W/ }" k; d. ?; f5 j) Q  m
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ( A: v% g9 |- j1 y6 o+ N
]. i! @" I1 j1 J: ~
to new) {% F2 H! c. f1 m1 Q
  ca% b' K4 q2 i" s- [7 W$ h* d
  crt 5 * num_of_building
( R7 k% D# L: ]$ [7 t  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]* G: x4 f. ?* l7 c$ ~" Q
  scatter     ;;keep center-turtle random positions
& T" K  L! G- a4 x  unit_plan   ;;make up the building plan
: y. }$ x- M/ \end( E+ ~9 B- E) y! a6 w. G1 u5 Q9 u
to scatter* o" D8 n. U% s( [2 F6 M
ask turtles with [remainder who 5 = 0]
; ~  {& Z1 x8 Z4 |  U: T[& G1 X$ B7 V" s
set xcor xcor - 6 + random-float 150 T+ G; u- o1 ~7 P1 |# I
set ycor ycor - 6 + random-float 15
# c! a' X1 q- Q/ E$ ?]  L( \; {: ]7 h
end
1 j8 {" y$ n; w/ N% h& E$ b% \% Xto unit_plan $ Z# [* Q4 W9 {9 d# ]4 ]
ask turtles [
5 v+ u4 A. r' f* ^8 O3 lif (remainder who 5 = 1) [set a who ) j& M! v4 E) I$ i; k0 B* M8 y
                          set x ( 0 - Wid / 2 ) - y6 h$ F3 s- d
                          set y  Dep / 2 ]
- L5 r9 W5 y( f4 t$ |           set b  int (a / 5) * 5  z: ~1 K2 p2 H/ f% j
    setxy ( xcor-of turtle b + x )
( f" |, V& }& H          ( ycor-of turtle b + y )
! G% X/ L8 [  j: M$ Eif (remainder who 5 = 2) [set c who
0 G6 `! z1 |" {                          set x ( 0 - Wid / 2 )
$ ~% P) `3 z, T" m; s9 @                          set y (0 - Dep / 2 )  ]$ L  _7 M4 ?- ?. Y* R2 O0 C
                          set d int (c / 5) * 53 m8 O5 x0 t0 w9 N
   setxy   ( xcor-of turtle d + x ), V5 s% e$ Q" c% ~6 j. J9 W
           (ycor-of turtle d + y ) # e6 w# @0 H, c7 c
         
5 b5 }2 p/ X9 K, k+ k$ q' q* F  {            
4 Q9 u/ ^- E' l- Qif (remainder who 5 = 3) [set k who1 J/ m. d+ O! s0 ]' c
                          set x( Wid / 2)  " i+ B+ T6 z% V: Y
                          set y (0 - Dep / 2 ) ]
, l& K2 W; d# [2 I                          set f int (k / 5) * 5
/ S3 J5 k. A) V8 I8 n  setxy   ( xcor-of turtle f + x )- |# P& j1 o# e4 ]" P) W% [: Y& v
           (ycor-of turtle f + y ) . d0 O/ x0 ]: \
           : m; J: k, Q& d7 F& ^$ ?
           & E' @+ x/ f7 _. Z  A" E6 {3 M
if (remainder who 5 = 4) [set g who
4 y" `  W% ?. x9 Y                          set x Wid / 2
1 @1 Q+ V9 T2 u1 i                          set y  Dep / 2 ]- Y0 Z2 T( K, z" u4 }. T' e
                          set h  int (g / 5) * 53 k! u7 \; \6 D/ v, y$ |1 ]
  setxy   ( xcor-of turtle h + x )
! ?7 w# ?% C  z4 n6 U* m- L% ], v5 D           (ycor-of turtle h + y )
+ G4 r5 b6 x$ o- F( u! |5 \                          * V" g; c; l& R7 r
                          7 d1 |) _2 r6 k* H0 B) X8 H, O4 A. ?
                          ]) w& N9 ]. a( N) r7 ]9 E+ H- y
end/ ?; H* I; {/ J" T

/ D8 O6 o, g/ {0 K! y; t) N' P[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,# ]4 L& W7 T) ]* \( S
应该是( S% S7 `0 n7 _* U2 K4 o0 Y
ask turtles [
1 W" A# x1 {7 j6 pif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 1 q: w2 i; M# G6 N$ @
                          set y  Dep / 2 : H8 Y1 m( p7 U2 [7 N$ J9 d
           set b  int (who / 5) * 5
/ J# P# ]5 ?0 W6 d5 `    setxy ( xcor-of turtle b + x )
* C  y5 r2 R, d1 [( Y+ D( {: K          ( ycor-of turtle b + y )]]
( `! r, `* D. c# m# t- Lend1 N' d( o5 N- s# g. ]5 q
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-26 19:36 , Processed in 0.026581 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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