设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8808|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。1 ~' {( s( h/ _8 I1 w
* C! w0 R- `' {6 O6 H
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
7 `, k. P- D' H8 I# V& t+ U+ L1 j- c0 X& J
turtles-own [a b c d k f g h
( e- x" r1 {! m1 f  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 l" l* l2 k, M3 W
]( W& \/ b% c) l  w
to new
6 S* N/ f7 P3 z! k6 j  T  ca  Y: P, w9 a4 `4 Q) g
  crt 5 * num_of_building
8 T/ v" Y$ u* {0 l+ `3 y  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 W5 m) q$ X6 U5 R% z- M  scatter     ;;keep center-turtle random positions 3 g" X' q) A8 [7 Y& l! c1 }
  unit_plan   ;;make up the building plan  Y6 E, p& x1 ?4 Z6 i4 h" L
end" T% W7 m6 Q/ Q3 L9 V4 I) `
to scatter4 M" S3 ]  W0 n8 c6 T0 R. q4 U9 u
ask turtles with [remainder who 5 = 0]
/ e# s9 f7 w$ V1 ~[( O1 \; O: K1 _5 h$ P
set xcor xcor - 6 + random-float 15
" I. b9 L7 {' q) ]2 @% Lset ycor ycor - 6 + random-float 15. T1 x$ ~1 Y/ a$ h2 a
]8 g' q4 r0 d* D% U' f& ~/ p7 v
end
$ G9 |: `  m, y$ `3 ato unit_plan
8 W9 a# @; U# b. e2 k0 eask turtles [
4 N" x' S/ A; t; ^* |* Lif (remainder who 5 = 1) [set a who + F; ~' J, A. z4 D/ Y2 H2 T
                          set x ( 0 - Wid / 2 )
6 }' J$ t! }2 q5 m                          set y  Dep / 2 ]& M' y9 a6 s9 }) ]7 G
           set b  int (a / 5) * 5# e" c5 g" U- z* Y1 ]
    setxy ( xcor-of turtle b + x )
6 ]+ f: K4 q- x+ s% u          ( ycor-of turtle b + y )$ Y+ ~" \6 c: f! o* K- F* ?
if (remainder who 5 = 2) [set c who( A- E, U' O6 x: W9 p
                          set x ( 0 - Wid / 2 ) 4 C3 w6 ?% z, p) m
                          set y (0 - Dep / 2 )  ]0 v% G5 W. M, W! o- c  ^
                          set d int (c / 5) * 5- ]( t) u- R8 e' V; f+ l9 U' O
   setxy   ( xcor-of turtle d + x )8 Z( b* L% ?- G
           (ycor-of turtle d + y )
2 K; X. z1 X4 ?! \, y          , D  K& W/ B* U. J7 Y
            
  ^" o* {$ u5 J" b, ~) B+ rif (remainder who 5 = 3) [set k who
3 g+ i( D* z6 g4 n+ J, Y; c5 P                          set x( Wid / 2)  
. O' A8 l+ E% y' m: C, g% g                          set y (0 - Dep / 2 ) ]
( x& ?+ i6 C* Y: G5 m, \                          set f int (k / 5) * 5
! Z1 i$ @6 [! `5 `( |  setxy   ( xcor-of turtle f + x ): q# U5 T3 h& k7 q
           (ycor-of turtle f + y ) / v4 }( v( H# q' @8 p, Q7 P
           
( q) _; P& C4 _$ `' W/ V           
- u7 F/ Y. H) Xif (remainder who 5 = 4) [set g who
* Q$ p* V# O2 j5 ^$ d                          set x Wid / 2
& K9 k8 A4 ~" ~! v. J                          set y  Dep / 2 ]" A: O& H; u& O' `/ K. Y) m9 `
                          set h  int (g / 5) * 5
& L* d) s6 O1 l% S  setxy   ( xcor-of turtle h + x )1 n  L; y2 Z" V" |9 h: o
           (ycor-of turtle h + y ) / i- l$ g' c( M/ f* q- M
                          9 i3 g+ ^" E: H' M6 k5 G2 b& v
                          ; t; K2 u1 k$ Z- l
                          ]
/ j, f, T7 A% C% H! ?  M, mend
% }2 X1 @8 S# g5 m/ L( j; v/ F5 z, M
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
8 o* ^; H& D, V# P7 a# a应该是% d" V: f# I# h8 ^  f" \! [
ask turtles [
" }2 n: k" p$ m' z* B5 v4 g# F; Gif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) f: [6 U& C8 m
                          set y  Dep / 2 3 [: w) o- w/ P) l) h
           set b  int (who / 5) * 5- X6 a  c" p# q5 H) y, a) ~
    setxy ( xcor-of turtle b + x )$ X5 t$ [+ b) w7 D+ W0 a$ P$ z& ?  y8 [
          ( ycor-of turtle b + y )]]
9 X# s) u1 e9 C# I% Yend
1 @! o4 J- \/ R" @' N4 o, k) Q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-6 21:10 , Processed in 0.018311 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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