设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8628|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
: }/ `& B! t" r, ~( j- k" Z1 V, |8 b0 m3 @/ @; J, X
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。& [  y3 L6 v0 n5 [$ r: e" {
& Y" m, w1 c, q, x4 U" D/ w3 Z
turtles-own [a b c d k f g h
% r5 o8 S* t+ p4 y% O* _- s- k  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! y/ s. e7 x9 u9 q! {* n]
( r" a# Q+ c3 L( _! o4 F5 o8 Tto new
; A  }8 n2 @* l. [6 c. G% s4 Z; }4 [/ r  ca0 X) o& B5 K& x/ J
  crt 5 * num_of_building) L5 c3 k5 K+ |0 R* C
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]0 l6 K  z) O2 X( C! p* I
  scatter     ;;keep center-turtle random positions
, x* [! D9 l+ E  P  unit_plan   ;;make up the building plan
) p5 p( R$ r1 h# m( D: h" t# Kend7 d5 I. b# w' G1 l* B( x) ?
to scatter  l/ M# C) F2 @" M1 a+ ~
ask turtles with [remainder who 5 = 0]3 `0 n8 F1 i- l5 q5 {# P
[
( Q: ?  l8 X/ u: p! ~set xcor xcor - 6 + random-float 156 r& h5 }1 F! L$ A2 K8 j6 y
set ycor ycor - 6 + random-float 15
& H! d/ d0 a' F3 K+ i]; C6 e+ S& A; B7 u3 z8 @
end
- f- E% X+ l4 z8 z, e0 B' A1 ^to unit_plan
/ f* q' @% T: i% m$ Lask turtles [
. f6 Y  L" ^1 t+ L* o4 B) ]if (remainder who 5 = 1) [set a who % [3 b$ J7 @3 b1 y) Z% W; F
                          set x ( 0 - Wid / 2 )
1 S* E; N: C2 I, T: D& A* q/ y                          set y  Dep / 2 ]% v. x% H, M8 |: \- [' Q2 F+ @
           set b  int (a / 5) * 5
+ [! ?* J- A; T2 V5 j    setxy ( xcor-of turtle b + x )0 }, f( l* k: E* v! H! C$ u
          ( ycor-of turtle b + y ): y% {3 F' ~- Y& z  K# y( d
if (remainder who 5 = 2) [set c who4 K) n! b. D, Q) ~
                          set x ( 0 - Wid / 2 )
* x, [! |9 U6 L  H; ?8 L, n& K                          set y (0 - Dep / 2 )  ]0 s, W" i5 i: J0 t7 R. B. Z
                          set d int (c / 5) * 5
! v+ w' P/ ~4 z6 n% f   setxy   ( xcor-of turtle d + x )
+ T: n/ P2 {( ?" o% q           (ycor-of turtle d + y )
/ x2 O' k4 c  ~2 d$ ?         
. ]! V# P! X2 ~& K0 T, [            ( L0 m& J" ^: Z1 E0 H
if (remainder who 5 = 3) [set k who; k; P4 H5 x0 Z- l
                          set x( Wid / 2)  : z; {  a4 \+ m0 Y1 w" E
                          set y (0 - Dep / 2 ) ]  J. H/ V7 \. e9 l" k
                          set f int (k / 5) * 57 Q4 u  W7 s! C1 D/ r
  setxy   ( xcor-of turtle f + x )
4 {% W4 ]. h2 V3 [           (ycor-of turtle f + y )
8 F& K+ T6 |* F% r           
# ?- s3 ]2 ?1 |# K; P* T/ Y8 P+ M* m           
  |1 R1 X: R% Hif (remainder who 5 = 4) [set g who$ L- d+ X% c+ ?$ N6 \: \
                          set x Wid / 2
! r, o& d- [; A' _/ K                          set y  Dep / 2 ]' |8 D' p# V4 q
                          set h  int (g / 5) * 51 v" M/ i2 ?7 w
  setxy   ( xcor-of turtle h + x )/ W7 u8 w* E2 X8 k* h( w
           (ycor-of turtle h + y ) " A0 k3 y8 s- Y
                          ; [6 H4 k4 R& m! Y( ~8 g
                          ( L! \8 H: S- L/ Y, d1 D
                          ]
" b6 [, G6 O1 R- U3 _8 tend
( @: i! `! `1 T; U. a
7 W" u0 t9 t- U+ n5 }' ?, E% S[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 l0 l3 R- i' r
应该是" x& S# u. k% y; ^/ r( w/ D
ask turtles [
$ b$ u. S% z  C  d" l# qif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) * g# `+ q  j; o* {1 P
                          set y  Dep / 2 1 v, [0 c7 q& c6 b( _, y; m( B/ L
           set b  int (who / 5) * 5
4 j. [$ }6 v/ _  I$ A    setxy ( xcor-of turtle b + x )
. ^& ^3 W+ L8 E/ T7 s+ T          ( ycor-of turtle b + y )]]
( R0 r6 L% z  R1 h( {8 Kend
9 E( Q( D; n6 p' ]之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-18 14:37 , Processed in 0.017213 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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