设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8911|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。! u/ _' K1 w, o3 V

+ }3 @) \: K; y% j& P) H但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
# j) K+ [9 G0 A  P2 P, r; l' z2 ~  b
turtles-own [a b c d k f g h; d9 {; f2 l& e7 v
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
" h7 x' `+ _; Z' O  G$ b]8 e$ p9 k, G/ i, D# r$ l2 D
to new4 k/ T& [+ w3 R" B
  ca- ], V! f  @  H/ N) M
  crt 5 * num_of_building
2 k4 S; K/ o  p) D* Q" E  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]], {1 A" g. H% h
  scatter     ;;keep center-turtle random positions
! f* ?( C2 o& {: M  unit_plan   ;;make up the building plan; Y( s  }) Y' t5 [; Z1 }- k
end
: b. p, i# l% v9 i' Dto scatter
. K+ [8 q- ^- H% vask turtles with [remainder who 5 = 0]
* l! T- {0 b5 A. i[) o) ^. v6 E8 T; p; J
set xcor xcor - 6 + random-float 15
8 x% O4 D3 j1 g8 F) U7 {5 uset ycor ycor - 6 + random-float 15" N# d$ L$ {0 |# j$ S6 x
]
6 Q1 i- i4 X9 h1 Cend* k0 n8 q' `' s# [! G! ^; D
to unit_plan
/ B) X  \' @2 r4 B  g' x* iask turtles [
5 o9 z+ u  k* u. K/ J, o8 fif (remainder who 5 = 1) [set a who
% {+ u! }8 e4 A. p# s" e                          set x ( 0 - Wid / 2 )
% i: `. @# A) s. N' F3 e! h; U                          set y  Dep / 2 ]; T$ d2 X4 E! ~: E! e, Q& x+ [
           set b  int (a / 5) * 5# u8 s2 A2 ^- H$ u' P
    setxy ( xcor-of turtle b + x )  e  Q4 N8 @- ]
          ( ycor-of turtle b + y )2 j5 C' X9 O+ J- O' t0 d- D" C
if (remainder who 5 = 2) [set c who
. Z+ h2 O2 `$ E7 C5 v& {/ D                          set x ( 0 - Wid / 2 ) ! Y, o$ t; X9 h
                          set y (0 - Dep / 2 )  ]
( T8 o" f2 l* B% B8 g. i                          set d int (c / 5) * 5* J. U0 I$ P+ b- n5 @# @
   setxy   ( xcor-of turtle d + x )
5 W# T; F+ t% k/ |7 i, `           (ycor-of turtle d + y ) 5 M" k$ a! j) ]+ ^) _+ x7 j# o
          * T5 E9 @, s( ?8 `, t! F
            6 ^4 M3 O" e4 Z# u
if (remainder who 5 = 3) [set k who
8 V  S' p/ k: O                          set x( Wid / 2)  - l9 L% ^( `4 O( r4 ]7 J; b# u
                          set y (0 - Dep / 2 ) ]' S" E' A8 z: |1 D* i5 C
                          set f int (k / 5) * 5
" }( q' r+ I2 r6 c- X  setxy   ( xcor-of turtle f + x )1 ~  N4 l# [1 l$ T7 z4 w) k
           (ycor-of turtle f + y )
" T" K8 \8 e; Z5 n. L           
5 f6 ^* h4 x$ ?           
; `+ h" w; V2 a$ V7 W3 Yif (remainder who 5 = 4) [set g who
  w  c$ b* f8 T3 d) P7 s2 E$ j. u+ ?                          set x Wid / 2
- J" k7 _  z& q/ T+ Z                          set y  Dep / 2 ]2 I( V; F+ I* }8 m
                          set h  int (g / 5) * 5  \. [. s$ R/ ~- ]. W& R% e
  setxy   ( xcor-of turtle h + x )
5 V6 E8 C  D; B           (ycor-of turtle h + y )
  O- Z6 ]* s& R& \" ^                          3 Y3 o* E8 b9 |/ X* T; \: ~+ G
                          
& q5 m- M. M+ f9 A" R                          ]7 ~+ t" Y+ V) g; ^9 N8 Z
end; @( X5 W! X5 y9 ?, j
" i; Z9 e7 C$ u1 }7 X
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
0 R8 T2 ?/ G5 b应该是
$ R7 v+ d* T8 |; jask turtles [
9 N/ t+ _# e: }* uif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ; [, T: M% Z5 w0 u( i' F9 r- \
                          set y  Dep / 2
3 s: }0 r0 W1 s2 e           set b  int (who / 5) * 5
7 j4 X! u$ K# _  _% f    setxy ( xcor-of turtle b + x )
6 I: \3 @- M8 E# o0 t          ( ycor-of turtle b + y )]]
) k7 f/ j4 d% w- {; I1 x. uend0 r0 ~( n8 u2 M3 L! a$ P# ~  v( \
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-22 18:38 , Processed in 0.018358 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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