设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8086|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
' g" P9 \; g5 n" ?$ I3 @$ ]+ e( V! D
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
! U% n$ m0 ?' \2 Y
5 S5 h; Y8 L6 N' M) j' Aturtles-own [a b c d k f g h
; A5 T9 o& v, ^9 F  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
( {+ [$ E( x3 U8 P" b- c]
9 P1 M5 [; z' Z1 l3 K2 ito new9 ]) B' }! s: n, W  R5 z! G
  ca
; R. ]; b( F7 k+ d1 Y3 d/ `  crt 5 * num_of_building6 p! v) X: E2 |! O8 B# w
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]$ c% z' ^9 x, y
  scatter     ;;keep center-turtle random positions
$ D0 @8 |( L8 n0 }  unit_plan   ;;make up the building plan
3 R8 ~( R4 r: j: d1 _end
. v( h1 U2 H, R. T# lto scatter
1 ~1 [7 u$ k; B5 aask turtles with [remainder who 5 = 0]0 m+ l& {' d( Y
[
. \' Z/ Q1 V# p% a+ {6 e$ @. ^% Jset xcor xcor - 6 + random-float 15
: [% G4 x3 B: O9 h& @set ycor ycor - 6 + random-float 15
+ m: V' v& h* f]
) b; a2 U; I2 n8 l. U1 e; e7 wend, H$ R& O# K* U6 M* C1 h
to unit_plan
7 k7 m( f( }1 i' t% r4 X5 Rask turtles [
4 n2 W% L1 u% G3 ]' |9 u8 T( Uif (remainder who 5 = 1) [set a who
  {, @7 _. N8 @$ ]0 G* z                          set x ( 0 - Wid / 2 )
/ q+ i7 z* @1 D/ E! E7 H                          set y  Dep / 2 ]
# }8 p8 L% q  O: ^" v           set b  int (a / 5) * 5, c6 X/ G/ L8 n9 d- v: M6 V- H
    setxy ( xcor-of turtle b + x )
$ p/ J9 h( v1 Q! C. k% q* n          ( ycor-of turtle b + y )
9 v  U. n9 p6 dif (remainder who 5 = 2) [set c who
# }* I( i+ u! g4 P& I                          set x ( 0 - Wid / 2 )
8 B  I% {$ t# a  d; c" Y                          set y (0 - Dep / 2 )  ]
8 r# r4 w) h: ~  I+ z  ?& t; k                          set d int (c / 5) * 5
$ v( K9 u" v5 ^6 v- \( v5 s   setxy   ( xcor-of turtle d + x )
2 ~$ @) i0 g9 a$ T: a5 [2 G           (ycor-of turtle d + y ) & A( D0 O0 H: S  d. G
         
/ h5 I6 V( L+ D5 R! a0 `            8 n2 B  r3 r4 W7 |. v* ~
if (remainder who 5 = 3) [set k who
- G. A* g# T: m+ `, X, D                          set x( Wid / 2)    x0 w2 b7 B, R! q& f1 B
                          set y (0 - Dep / 2 ) ]
: Q2 Q" _/ ]) F- e$ @- S: N& \/ _. s                          set f int (k / 5) * 5
; D; A# H: P$ z* c4 M  setxy   ( xcor-of turtle f + x )6 }8 L6 R4 y  G0 p8 t  K
           (ycor-of turtle f + y )
& Y! b* k0 m  p% }: u& E* b3 r           7 b4 D( ~* Y6 ^! k! Z
           & A, Z2 K! Q8 R6 E
if (remainder who 5 = 4) [set g who
' @6 x& T, R# S2 G! ?" U                          set x Wid / 2 3 k3 W. V1 ^0 C8 U& n- s
                          set y  Dep / 2 ]
3 ^' k4 D0 @7 d9 l, L& U' w                          set h  int (g / 5) * 5, _8 y8 ~; z* C  e! V
  setxy   ( xcor-of turtle h + x )
/ S4 o' v5 T% K; U0 q, ~7 W           (ycor-of turtle h + y ) 9 W- c6 V2 b) V9 g
                          
) S9 k  O  [% Z1 H2 ~                          
2 Y! g3 S" Z2 {; P. k# ]; I' H3 h                          ]4 T% j  I) Q+ ^' f- k; I
end
, f* G. }: i' L9 O' }& S$ D8 t4 @7 w+ T. s! y: f7 J
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
5 Z+ V  a% ?! _+ T$ C: W7 ]应该是
5 t. F+ m9 L5 `. _' X7 |ask turtles [" c5 l/ [7 T) \
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
( G, P% ^- t, K* o9 a3 o                          set y  Dep / 2
* B& ?* m, r4 I  l8 n3 {$ |2 p* `           set b  int (who / 5) * 5( `+ o  l1 l( B' c% c5 i; H# c  Q
    setxy ( xcor-of turtle b + x )  U' H# {. ^4 a  i6 S: N
          ( ycor-of turtle b + y )]]/ @) \) m- I) d
end, a8 E' a& F6 z$ M
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-6 05:29 , Processed in 2.687795 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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