设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6807|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
/ _& w9 x1 o( r* C+ v9 U1 f2 j* s1 c9 r
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
2 }2 `( t1 J* @) N' o' @
, |$ F+ _( ]9 X  W& O& u! ~turtles-own [a b c d k f g h
3 p/ G  x6 M9 [! u  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
0 |1 e, G+ ~4 q0 h$ V; R2 ~" Q, z/ t]
% g. i! v7 I* V! T( e$ Y1 mto new: P9 m) S" X2 P, X" {* R0 o7 m
  ca. w7 Q, a- w3 F- e* J( d
  crt 5 * num_of_building6 C) Y) w1 }8 V
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]1 C8 F: w* U$ p! L6 H1 W2 o! r( x
  scatter     ;;keep center-turtle random positions + U" r+ H& b& G. q
  unit_plan   ;;make up the building plan3 L& }' D3 `; X: `7 t: w/ C
end
: a/ K6 a2 H: I  |3 X4 c9 O1 Oto scatter
8 N$ _- j9 v' Y" vask turtles with [remainder who 5 = 0]
5 z6 p; b2 ?* s% c[8 n$ x: S4 n, W. \$ a7 Y. v6 M- j: D( f
set xcor xcor - 6 + random-float 15, T% X; J3 \0 v  S4 u6 U  T
set ycor ycor - 6 + random-float 15  }9 z/ x9 s# b9 {, w
]
' x, `9 q1 g& R% p* Wend
+ d2 a( t, V2 `/ U; [: N0 [: N4 Nto unit_plan
+ g$ y& X0 ^. w& O  zask turtles [
9 P9 Y0 _: H& O, j! Lif (remainder who 5 = 1) [set a who % w* `/ O3 v1 x1 c+ w4 }
                          set x ( 0 - Wid / 2 ) ) [& U6 B6 q2 e
                          set y  Dep / 2 ]0 n) X: J- q# `
           set b  int (a / 5) * 5: w( z1 E: R  W" V- X6 t$ O
    setxy ( xcor-of turtle b + x )
4 u, u9 Z& e) W7 B$ w7 [+ e5 c# A          ( ycor-of turtle b + y )
; A. `! [* ?* l/ c6 Rif (remainder who 5 = 2) [set c who6 M1 s6 @0 W) l* B9 q
                          set x ( 0 - Wid / 2 )
2 r1 Q+ G5 u9 q7 q8 N, n0 n                          set y (0 - Dep / 2 )  ]
; A; d* H# z9 r( t                          set d int (c / 5) * 5- U% b+ w. R4 r; I) ^7 o
   setxy   ( xcor-of turtle d + x )
- ~, ~% F/ X8 n% @0 T           (ycor-of turtle d + y ) - w7 C' n+ a5 @; i- d' B- W+ w" v" ~
         
6 a' T* j# S' N+ J            
' n* m7 h+ O0 R1 ^7 J, o' p1 E; Cif (remainder who 5 = 3) [set k who
7 ~7 z3 M) V1 a( K; w8 N                          set x( Wid / 2)  
* M4 o; A4 d* e                          set y (0 - Dep / 2 ) ]& ?* q6 o: Q4 ~; R+ a$ |+ m& K$ c9 D
                          set f int (k / 5) * 5, v1 H! q" |% k2 b1 ~0 S3 `/ k+ o
  setxy   ( xcor-of turtle f + x )
+ h6 v+ j/ U& O2 G           (ycor-of turtle f + y ) 5 _* |7 w( E& t: g" y* }! e; |. ?
           
5 y9 [% f- o- Z, @6 r           7 D5 F3 A  i: n9 X. J
if (remainder who 5 = 4) [set g who! e' F% f# I  Y6 `2 S. A6 m1 a
                          set x Wid / 2
9 V/ J6 Y% b( F5 |8 E# N! M                          set y  Dep / 2 ]0 O! ~8 \8 r$ ]9 L& p; p
                          set h  int (g / 5) * 5
; R8 b( d& h2 U. L1 N) s) F; Y  setxy   ( xcor-of turtle h + x )7 y- N7 R9 g6 I. W7 {0 I5 _% d
           (ycor-of turtle h + y ) 1 R% f- {# h1 x) ]% V
                          & _. z. A" p1 N5 H+ r
                          ' D% q  [2 p+ D" {# O) b4 t' O
                          ]: Z9 U+ k' h  G% _' p
end) h7 J9 e0 k2 F& J
4 Q1 i+ Q* u; z( w3 h
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,. x+ F' `4 M2 _7 U
应该是
7 G/ l# Y+ ]. \4 Q9 bask turtles [4 W7 j8 e0 R( h
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ! i9 J1 [0 k, |3 U/ {
                          set y  Dep / 2
: n2 `& F+ p3 h3 J0 c2 r           set b  int (who / 5) * 5
9 w6 s& R  B1 S# z* H    setxy ( xcor-of turtle b + x )9 q! O$ s' R- V5 |+ @6 \% X5 d5 k
          ( ycor-of turtle b + y )]]- ?* @+ |/ i! }/ J# d5 M5 O4 d
end; c" \5 V& S7 V/ {7 M! P  l
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-25 07:20 , Processed in 0.018530 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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