设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7207|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。  ]$ P) Z9 v( j, a! E; [' e
  k  f" Y% z) N% \
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。6 ~- V- s7 K! b( ^! B) s
& p6 C! z) S1 j
turtles-own [a b c d k f g h/ b* o4 a: j3 C1 c  d
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
$ q, \0 L) x: g7 n7 B) N7 _  N]
6 \8 [9 p4 D" [0 w0 y+ bto new
9 U4 M2 E$ {$ k  ca
; ], u$ P9 |( R+ p) [+ q$ s- R  crt 5 * num_of_building
; K, M/ ]" \' M' K  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 {  Y" z8 u( q' [- n  scatter     ;;keep center-turtle random positions
! a& `! S5 u9 ]  \' m" S0 r: @0 D  unit_plan   ;;make up the building plan
  {- R  g. M4 t9 W" w$ I" Bend, B! |+ `5 G& y
to scatter
2 ^# t) T! r( s( b$ Dask turtles with [remainder who 5 = 0]. G! ]! g1 ]( Y
[/ s# P& A  W: b# B. s
set xcor xcor - 6 + random-float 157 T  u' `$ X- v6 P) p# m
set ycor ycor - 6 + random-float 15
3 H$ I" F; v6 E: O8 e]
# G! A  ~0 z4 u* V: rend
$ n' B! c3 a" l2 ^: |8 j: pto unit_plan
* ~8 F9 w) K' I. \2 uask turtles [
5 H3 `' m8 K8 B% i: B9 nif (remainder who 5 = 1) [set a who
% v& t3 x" w6 w" L6 m/ ~. T                          set x ( 0 - Wid / 2 ) + z9 Q3 p2 q5 Y  B  I, {& k, [) w
                          set y  Dep / 2 ]
0 E* r- p+ R* b% e0 B4 [           set b  int (a / 5) * 5/ @5 L3 n5 {" C) x. }& M3 X
    setxy ( xcor-of turtle b + x )# W% V0 a- z) o5 Z9 w
          ( ycor-of turtle b + y )
3 F3 B+ U9 d) M5 h% @" Hif (remainder who 5 = 2) [set c who
$ H, E4 b5 b. w/ O7 o                          set x ( 0 - Wid / 2 )
1 e5 M" O7 U: L                          set y (0 - Dep / 2 )  ]
6 q# `, x9 b* s; Q: Q3 m5 o                          set d int (c / 5) * 5
8 ~* Q! ~$ o1 h9 f5 {3 H/ M   setxy   ( xcor-of turtle d + x )6 g. X9 [8 N7 m1 a
           (ycor-of turtle d + y ) 6 b5 d( ~4 _! Q" ^4 g! [. r% g! i$ R
         
. n2 V7 o) Q" X. J( V1 g1 V7 m            0 U7 Q; y0 e/ T7 }) y0 P% h& C3 V3 C
if (remainder who 5 = 3) [set k who
, Q9 J9 ~% t9 Y1 |) S0 ^                          set x( Wid / 2)  , a2 Q1 d* Z; r8 @) n
                          set y (0 - Dep / 2 ) ]
9 j2 {: |1 K: L, s" R" b. p                          set f int (k / 5) * 5. ]4 N" x( D$ \! q, x
  setxy   ( xcor-of turtle f + x )* S/ d( z/ j- F( W; n
           (ycor-of turtle f + y ) , v1 y8 }$ _* J/ C2 D7 H$ c) H
           
% P% ^' y- G4 M7 \& ]           
# @9 X9 y$ Y! v' X1 C; _: qif (remainder who 5 = 4) [set g who' @5 R& L' _/ \4 K
                          set x Wid / 2 3 e4 t/ J& z, I
                          set y  Dep / 2 ]
3 o2 L. A1 t0 R% i5 r& z2 g4 F                          set h  int (g / 5) * 5
# }0 U! g3 n0 _* u5 j8 t8 O. e  setxy   ( xcor-of turtle h + x )
7 t+ x" f1 H4 G: s, \9 |; n* h" ^4 R           (ycor-of turtle h + y )
% E7 q: T% i9 R: w# J                          
7 _+ I! v% r1 p/ B                          % I! K4 m! z, R4 f; H
                          ]5 N, g* m. X2 F
end
5 o- T! j9 _# L- ]5 C) q% z# W8 g9 D  T
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
$ R. ]1 w( k- u) _* P# h- Y4 W应该是
8 ~. k4 L; i; R0 L0 e3 R2 Z0 A) Fask turtles [
# h4 u, Q) U  ]& C8 Xif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
( e( t" q1 Y. A) k2 o  E& j                          set y  Dep / 2 3 O) {7 \3 `" v9 s( a: f
           set b  int (who / 5) * 5" H% a) B- p. v/ O
    setxy ( xcor-of turtle b + x )
9 g' t7 Y4 j0 o* C          ( ycor-of turtle b + y )]]$ W" Q' m! @  `2 U$ B6 ^
end
; v/ L$ |# i% d5 A2 R, A& d) C之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-16 15:37 , Processed in 0.025921 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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