设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8737|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
/ {! T& M+ N9 X8 ?; ]
& E% W: a% [2 x. F9 X, c$ ^4 Q( i但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。0 v; E- O- U2 _5 W
, |$ G" @) n; w1 Y/ [6 @# n
turtles-own [a b c d k f g h
+ m, W- d( }/ R$ M7 K* O3 d3 h  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
6 m* X0 V& }9 ~, N2 t: n  T], K3 r" V1 I# c& z& h7 J
to new# t. T" Q: K! G
  ca
- @- f. `  K+ e6 ~( v4 e  n; `  crt 5 * num_of_building
. K' V* l5 |* [" N: P) ]  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 m6 v' s3 E5 \/ F+ u8 b( D  scatter     ;;keep center-turtle random positions
0 m, T: Q2 b+ P9 a4 q  unit_plan   ;;make up the building plan
+ D* m+ B' x* ?0 R! oend% {  |3 @6 X+ w% O& O
to scatter
9 V0 H% t" I& l2 C* ]& I% jask turtles with [remainder who 5 = 0]! h$ ~; |  W# h2 N/ W3 O3 p- D
[. y6 Y( ~( f  `: B% }" H
set xcor xcor - 6 + random-float 154 D% J4 e, Z" V' i+ D; z* S3 ?: o: {/ E
set ycor ycor - 6 + random-float 15
+ [; A, a7 f9 _- e3 V]9 v3 k. ~$ t+ Q) O2 L  m
end( G' m& s  p+ ~1 P
to unit_plan 1 C1 a3 \( L! ]
ask turtles [
6 I- }  X. G5 [: `5 H2 hif (remainder who 5 = 1) [set a who
' g# T) R/ K* ^. y! ]% V! j2 v! x                          set x ( 0 - Wid / 2 )
5 e/ w0 L4 N- l9 K3 V+ y                          set y  Dep / 2 ]8 T5 u# v( x/ p2 L, u2 I% p
           set b  int (a / 5) * 5
) b5 O, B/ O7 u) u    setxy ( xcor-of turtle b + x )
. |3 W) x( r. w5 U3 Y  A. h7 L2 i* h          ( ycor-of turtle b + y )
6 ~9 W0 |" n# @6 d  s1 Mif (remainder who 5 = 2) [set c who
1 c! B! G( V% A2 _9 t8 v$ E                          set x ( 0 - Wid / 2 )
  u+ C% U' o+ X/ r9 r3 |                          set y (0 - Dep / 2 )  ]
. B( [8 L9 Y& n# ~8 k. Y. j2 i                          set d int (c / 5) * 5
1 }- Y3 L& I$ P8 \6 G! o% \   setxy   ( xcor-of turtle d + x )
& F. ]0 V' _3 v4 |' T           (ycor-of turtle d + y ) 1 V# j5 E, _, {% f' F8 e
         
: Q; X' x2 `9 i            ; K$ ~% {6 w! k1 t7 d
if (remainder who 5 = 3) [set k who) v4 \, E2 V. I  C
                          set x( Wid / 2)  
$ n& l* f+ W- c+ A& `2 t                          set y (0 - Dep / 2 ) ]
' f+ i; E; C' q9 [2 o6 G3 @                          set f int (k / 5) * 5
0 ]; @$ m( Z4 b3 H3 A5 ]+ G  setxy   ( xcor-of turtle f + x )- O7 J/ C4 @0 x1 n
           (ycor-of turtle f + y ) # w+ j) I7 m# e3 p2 A2 C5 O0 u  X
           
4 F5 O* C& r" j$ K/ P, U           
: k( q! S% _: \; {" j0 s/ Nif (remainder who 5 = 4) [set g who
# W: s) u) b' l, Y1 {. K; H                          set x Wid / 2 2 I8 D- X: ~% v# X
                          set y  Dep / 2 ]
$ n1 ^3 Q5 Z+ b  F% ~; F                          set h  int (g / 5) * 5
8 R5 Q; j" H( V  w0 e+ ~- O  setxy   ( xcor-of turtle h + x )& D) a3 h8 i- ]# A
           (ycor-of turtle h + y )
' L  e4 m6 u  L7 Z! R                          & ^* B5 z" k; W3 T
                          
  k0 Y7 k7 H* H9 c" i1 R                          ]* {0 s, x3 Y) ?$ k' t+ b
end
& p5 X- U3 U4 `) J3 y/ k7 g, i0 e' D3 Z
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,& @5 w& ~) ~# D. b0 c1 ?3 u7 Z
应该是
0 f, ^, `4 t9 `: J5 {* K  d7 [7 fask turtles [' {' S  M! i& M% h" D
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ! j& i" g" M4 N7 M9 r  j2 p* i+ n
                          set y  Dep / 2 % Q" {) q% q& U  U
           set b  int (who / 5) * 5& E( l) P8 |2 v5 Z! u8 @
    setxy ( xcor-of turtle b + x )
! Z( p9 t  S- Y          ( ycor-of turtle b + y )]]
  I& N  z$ c  n) l& Hend4 P$ P' Q6 _* z# g
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-30 07:43 , Processed in 0.014688 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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