设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7852|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
1 M! g6 ?( W& P% x9 j) K7 d- |
! z. |& u8 B) G4 L$ Z2 ?3 g" z但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' L9 E( O, A$ y) K

* u1 Z0 I, q: o! t: Cturtles-own [a b c d k f g h
, T! t' w$ V  B* h5 C  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! B' A; _$ Y0 J7 u]
* t2 Y4 J0 V& C$ M9 ?to new
  v) S, ?. A7 ]& S0 |  ca
0 a# I, S( L# P; u  crt 5 * num_of_building
4 p0 {* v( d6 c; [% C1 N/ T  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 K1 I" p! F- L+ n: x) q  G+ E0 I  scatter     ;;keep center-turtle random positions
6 U/ {2 e5 s+ E" A  unit_plan   ;;make up the building plan
  d& v, }, Q& U5 t  C, R- Xend# z& Y( B8 _5 |% |7 h! y) G
to scatter
* F, x4 P1 W7 a' B  }6 A$ Iask turtles with [remainder who 5 = 0]+ v$ k! Q. {# ~0 ^
[
, Z' b  H5 J- l0 @- U/ b* wset xcor xcor - 6 + random-float 15
5 Q. b8 U& X5 m% C1 Nset ycor ycor - 6 + random-float 150 Y, U0 ^3 E9 ^3 g3 Z
]4 W5 K0 h: P( d8 X; A9 U, K9 |2 |$ I
end
* \  J' G$ {' b' p' O$ W; X  Fto unit_plan
; z+ x; y) O. L( \; `3 Aask turtles [$ l) H' d, R7 d/ X. _
if (remainder who 5 = 1) [set a who 1 ?% [# m+ t: H# A4 ?$ i
                          set x ( 0 - Wid / 2 )
' \$ A' S# H9 [+ u  U) E                          set y  Dep / 2 ]" c+ _% B7 X( a+ d
           set b  int (a / 5) * 5
9 H0 o6 S% L* V) {* H: e9 s3 }    setxy ( xcor-of turtle b + x )
9 U. Z; f0 i" E( e% r          ( ycor-of turtle b + y )/ o8 v5 [5 M  u8 |2 Y7 a* n* ~  u
if (remainder who 5 = 2) [set c who2 z( o6 k5 ?" _
                          set x ( 0 - Wid / 2 ) & q8 m: o  R9 z) \
                          set y (0 - Dep / 2 )  ]
2 V- _# c( \% B  t- t4 H                          set d int (c / 5) * 5, R9 o! w' q: u  D8 O% b7 t6 B
   setxy   ( xcor-of turtle d + x )5 v' Q! U8 p7 V6 ?( j  L8 b
           (ycor-of turtle d + y )
% S  b: d  H; ~% G0 N         
1 ]3 k# l" O0 U! n            ( W- [2 n( B; F- L
if (remainder who 5 = 3) [set k who- R- p# i' _: v. E2 Y
                          set x( Wid / 2)    p) k( o: [6 U7 g6 E  {
                          set y (0 - Dep / 2 ) ]
* N8 k! R3 d/ L2 ]& A( e3 P9 X                          set f int (k / 5) * 5" m# D+ B- h; c# l. p, Z
  setxy   ( xcor-of turtle f + x ): n0 v7 u- r5 ~5 n
           (ycor-of turtle f + y )
. ~2 `' a; a* B1 ]8 }           
5 o) D6 y% e4 [1 J           
8 R% h5 N- E9 Fif (remainder who 5 = 4) [set g who
* z* {3 W5 Q+ {2 c6 ^$ r                          set x Wid / 2 ( R) t; A* v0 F; p9 Y0 h. P
                          set y  Dep / 2 ]- R* X. x7 R9 B$ P
                          set h  int (g / 5) * 5) k+ K, Z( V. c0 {
  setxy   ( xcor-of turtle h + x )
' f* w2 |: Q" Y, |: d           (ycor-of turtle h + y )
! K, `1 L7 {5 u. S, O* w                          0 i) U2 B) @1 T/ |" X! v% h* d
                          # W+ I9 ]* ^1 `$ F$ U) z( R2 t
                          ]: g2 n. l" B0 _' ^
end$ V& ^! C) O. a. \! R% t

9 ]; B2 D; n9 A1 |! J0 p4 O+ Z, V! r[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
6 |' }3 `2 r$ y应该是
: |5 w& T6 r: q3 k, L: i3 q/ z8 Oask turtles [
) t& r0 c$ j! z0 o2 i( h. @4 H. Rif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 i: k/ k% \+ z0 y                          set y  Dep / 2 ' ?8 n4 u8 R, F) p  _& ^( N
           set b  int (who / 5) * 5- }' v! W5 v3 m
    setxy ( xcor-of turtle b + x )
5 \$ m- A7 q+ y+ Z# I          ( ycor-of turtle b + y )]]
; [9 ^% f$ q6 Y3 R5 C! {1 i7 Fend
. S  M% o+ [# t" m* |) T. O之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-9 23:08 , Processed in 0.020400 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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