设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7094|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。! ~' O6 s9 M+ }4 k- H& p: t1 l9 Z

+ l, X; v8 G- x8 _; m但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
+ E$ K( N+ m$ D2 F: H
2 O3 _) w9 Z& \( ?( T$ Pturtles-own [a b c d k f g h
1 V% ?3 U: O) S1 s/ B) z  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) o) D# a! s! y1 d; |
]4 K' o9 q# J0 l: |+ ^
to new
2 p4 `, J1 \% c. z, s- c, K  ca; g$ T. N! t* }
  crt 5 * num_of_building
. j( j" S" Y9 w( X9 B, I  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
9 X5 D4 x0 m) Z7 {  scatter     ;;keep center-turtle random positions # I- M' o6 F/ j% E2 w( V! b  q
  unit_plan   ;;make up the building plan! {% l- Q9 |) b0 I2 d5 s9 q9 h: h" N
end! R9 ^1 S; ?' h  X* B& N# v& ], _' E
to scatter
* I; w/ L  W) `% o; b8 bask turtles with [remainder who 5 = 0]
# j/ b9 S, I. K4 Z8 m. P) ~6 F[
( h/ r1 x/ P& E7 nset xcor xcor - 6 + random-float 15
6 Y! ~8 P% m# w1 ?' Oset ycor ycor - 6 + random-float 15" {4 }7 R8 \5 V1 s9 c
]8 I) Y- D! q* d. Q! H/ V4 |, E
end
; V* F. r8 v7 E2 M1 _to unit_plan
% a% b# X, H% h: O1 L7 b4 X# ?# Lask turtles [) u6 ^- \8 z# m$ e
if (remainder who 5 = 1) [set a who
3 |, F0 F5 [  a3 g; ?                          set x ( 0 - Wid / 2 )
6 D* j- @" F+ A. g! E" G: _                          set y  Dep / 2 ]
5 q7 C7 P; g% ]           set b  int (a / 5) * 56 r, I3 I% v+ U. _
    setxy ( xcor-of turtle b + x )
2 Q0 g; k' Z  r/ X" t6 @          ( ycor-of turtle b + y )
, P- K1 {! ]0 Cif (remainder who 5 = 2) [set c who
7 ~& Z0 {) l4 ?8 ~                          set x ( 0 - Wid / 2 )   j! }7 l3 j- [+ n* g
                          set y (0 - Dep / 2 )  ]
+ t4 ^9 G2 X) C" m  l                          set d int (c / 5) * 5% |# V: Y, o2 k' ?. c
   setxy   ( xcor-of turtle d + x )
0 @8 k, a0 x& X' G6 g7 Z           (ycor-of turtle d + y )
& [( o8 E6 E  E          * P- X( y$ |3 b$ N6 z, u9 k
            
5 Q8 x: ]4 n( U: Q8 F  v$ gif (remainder who 5 = 3) [set k who7 c3 n# v/ d) R5 T! X
                          set x( Wid / 2)  ; ]! ^: K9 L/ _" g/ M0 `, S
                          set y (0 - Dep / 2 ) ]: d$ V% _! B$ \2 I* `9 Q
                          set f int (k / 5) * 5' d5 m6 `& W" h5 Z3 D. A
  setxy   ( xcor-of turtle f + x )  C( s$ H& n/ m7 O5 D
           (ycor-of turtle f + y ) 9 ?& f1 w) y0 s# ]4 Y
           
* v- x! v5 S; B2 ^$ [/ T3 ~  f           
- v  x* W) w0 i5 C% Z! E! k2 Xif (remainder who 5 = 4) [set g who0 M* L1 d: c" q1 T  h
                          set x Wid / 2
7 Y' w1 e6 w2 F6 i* d                          set y  Dep / 2 ]
* g7 i2 Q& }+ W% W: l                          set h  int (g / 5) * 59 W/ Z+ H9 K8 H/ F' c
  setxy   ( xcor-of turtle h + x )4 C  ]7 z: @) v8 b
           (ycor-of turtle h + y ) 2 M! _# P# o2 m1 J) F5 `
                          
* p& `+ x& l) B- w7 E                          
( ]0 @, y$ c* \3 b3 ]) p% N                          ]
/ t8 _$ W  z! N' d& pend
1 Z: g& `4 w0 M( \& D- ?4 D
! [7 ?  d, d6 z) E4 Y9 u[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
7 u% L( i6 T' R$ k5 b应该是
3 Q1 v: j4 \: [: J2 P& @2 U" \ask turtles [5 }  M+ v$ c0 [! z& J+ y% c
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 0 R) B. a* a6 ]  [
                          set y  Dep / 2 ( E4 |/ s2 _# F( M/ ]
           set b  int (who / 5) * 5( g5 D9 p1 F/ r" p4 }
    setxy ( xcor-of turtle b + x )1 ~6 |' U% m6 M( ]7 I, e
          ( ycor-of turtle b + y )]]$ y; j! T3 s8 e
end
* \) H* B1 u* ]- e8 C% n, u之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-29 03:26 , Processed in 0.020299 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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