设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8885|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
# r4 Q8 c9 I: [4 O& G% P
. _4 @9 O7 [  H( Z) |  Z2 |% p* D但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
0 y" A5 y1 G) h. L. g5 z5 b. d4 C$ Z
5 S  R2 N$ A- p8 {, @' q( jturtles-own [a b c d k f g h
$ n+ o) r/ ]3 s' D  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
. ^/ P- H- a/ n) y/ L]. i# W, c& Q+ r7 |, x7 M' c4 p
to new3 a2 \+ H8 _( u! v* Z4 }
  ca, I* F8 I9 j) w& K5 w) x
  crt 5 * num_of_building
- X) B2 @0 B, R3 [" q  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]8 {# \. g$ ]% G6 _; }
  scatter     ;;keep center-turtle random positions
$ v. s: t* _2 W5 X& j8 q; ?9 l  unit_plan   ;;make up the building plan
5 h% E7 O( T1 `+ G3 ~end
# x  \( R  K. o+ Z7 @# U  {to scatter3 N1 Q# s. Z" y; w( o% `
ask turtles with [remainder who 5 = 0]% k! t  ]2 _& N
[" w2 D0 [$ }/ [2 a  Y1 ?" `$ u, q/ f. I
set xcor xcor - 6 + random-float 15/ k! \3 v. o  }2 s! I
set ycor ycor - 6 + random-float 15
9 Z( O4 B0 g" q( c: R/ w]( l* G. I+ m0 d
end
- ?5 U' L( y/ I# v- S( D3 nto unit_plan
  ]* f" ], S5 Z8 qask turtles [
# W+ z$ D+ q/ @; X4 w6 `7 I% t* Qif (remainder who 5 = 1) [set a who ) T! v/ B4 z2 S6 B
                          set x ( 0 - Wid / 2 )
5 L  Q% |! k! N* x                          set y  Dep / 2 ]
7 w/ T( D  g9 q$ K8 u           set b  int (a / 5) * 5
' t1 i& u. k6 q/ F3 b; s    setxy ( xcor-of turtle b + x )
$ T$ Z; D$ p5 N          ( ycor-of turtle b + y )! r$ n3 n) j! n3 q( z0 W6 P
if (remainder who 5 = 2) [set c who% P. L; g9 v, Y2 C& V, h# y
                          set x ( 0 - Wid / 2 )
3 D* y6 {5 X( c; _- R0 n                          set y (0 - Dep / 2 )  ]
3 }% F: G' Y" ]" O3 V. j9 Y                          set d int (c / 5) * 5# R: h$ ?" M9 N! Z
   setxy   ( xcor-of turtle d + x )0 M6 J7 D* R4 o; U1 `( I
           (ycor-of turtle d + y )
0 {$ B' }- M% p  a& ?- l9 `+ \: a            E. K) q8 F9 A& |4 Q  L) V
            
0 n( H6 R6 C! ^/ E4 _$ sif (remainder who 5 = 3) [set k who1 k8 K2 p) S2 c. s5 V" B
                          set x( Wid / 2)  * F( c* B* p; H  Q
                          set y (0 - Dep / 2 ) ]" ~. T" T- x9 U5 \
                          set f int (k / 5) * 54 G- a  a8 R: q" s
  setxy   ( xcor-of turtle f + x )5 S  B6 Y- L! U; C
           (ycor-of turtle f + y )
4 i( v" z9 h$ v2 y           
; E& @- T3 ?& Z# V) P           6 T( O$ n7 P# [+ C8 O' c
if (remainder who 5 = 4) [set g who2 U( R! M7 o  b( s  y" S% S; j2 U
                          set x Wid / 2 / {( N8 _/ f7 W9 s8 e1 Y/ F0 R
                          set y  Dep / 2 ]
7 L- a0 P7 r; s/ e. I# x. M                          set h  int (g / 5) * 5
) O6 k" ^4 G: k3 u9 k/ L  setxy   ( xcor-of turtle h + x )
" P; z1 Q1 v, M) G& q           (ycor-of turtle h + y )
* `; [- V/ {6 g1 G' W0 G7 A                          ( S, L/ j3 o9 b% l5 U
                          3 B# @# f  H0 k! f1 h* H  ?
                          ]# b6 {- F) V6 |" [# t& C
end
% ~5 B/ t4 b2 G
# A9 g8 O* ~9 C: R( B/ G[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
" a4 I$ G' J) w* M应该是9 ]6 w$ e0 `9 x5 z
ask turtles [
9 n( \8 U# @# {6 `0 ]6 jif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 @# _3 ?) k8 f3 N/ ^  X7 r                          set y  Dep / 2
7 @' R0 R' \' Y& N3 [" T! Z           set b  int (who / 5) * 5# C% {4 P) ]3 W
    setxy ( xcor-of turtle b + x )- i& v, s- k0 h8 a
          ( ycor-of turtle b + y )]]+ n4 r) B; o- _$ r, t! b
end
% f; Z7 C* F- ~之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-17 04:04 , Processed in 0.015687 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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