设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8150|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
: t6 t8 C) ^* p" F( i1 o9 R, j
6 X, v* _+ w5 k$ A% f1 q7 b但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。% G% r  m  C( ^7 Y! n, L

! c# V+ x" @4 a8 M2 Z0 F1 R) aturtles-own [a b c d k f g h
% i$ Q- P) p9 L* ~! W  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 7 K3 ]8 k( X& L3 N2 v2 H
]7 e$ ^5 n; Y+ Z) q7 ~. w1 D
to new+ Q' Z8 \6 }0 S' T0 P! X: q
  ca( g7 c: w. ?& j" n' D  _3 [6 r$ U# ^
  crt 5 * num_of_building: m6 t, t5 g8 y' o6 }1 }4 g
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
( b% j" |; K  }. A8 l- X4 W% K5 ]5 D  scatter     ;;keep center-turtle random positions
) X7 C- M5 i& _7 H% ]  r* m3 A  unit_plan   ;;make up the building plan
" m- c* x' [, D1 ?2 Vend/ z% s1 K% L; }
to scatter
' O/ [, @4 v& O4 E* k' [ask turtles with [remainder who 5 = 0]6 N6 Z( s  A" M5 Y
[
: ?3 \2 s: g& w! t* H/ bset xcor xcor - 6 + random-float 15$ T6 N( O/ S" `8 p4 ~6 U
set ycor ycor - 6 + random-float 151 R- y! }0 O. N( R8 K$ ~7 _+ Z
]% y7 ]% _' x; O! U( P, x7 m
end
8 G& B5 ?- F- n+ B; Kto unit_plan
/ p2 B2 m' H" r$ U$ Bask turtles [
  |0 I+ f/ u1 ^4 w( h' @# {' q: Hif (remainder who 5 = 1) [set a who 8 ^5 s1 @6 v( u# |  W
                          set x ( 0 - Wid / 2 ) " k4 e  n! }. D8 _
                          set y  Dep / 2 ]
( L7 D" d: z1 k0 V+ h5 s           set b  int (a / 5) * 54 I6 F/ f* t0 z/ I( S' L" T
    setxy ( xcor-of turtle b + x )
# X$ {, G- ^& G' y" p          ( ycor-of turtle b + y )
* c) G2 i9 @* e  L% {if (remainder who 5 = 2) [set c who) G9 S: `: x8 `! B  p
                          set x ( 0 - Wid / 2 )
$ I0 n3 Z9 E4 J# v- {. B' {                          set y (0 - Dep / 2 )  ]
: T5 a; x  N) H- @                          set d int (c / 5) * 5! ]! Z1 ?( ]+ F3 ~: ~0 M& @' g8 l
   setxy   ( xcor-of turtle d + x )' P8 }$ X& h, P7 m
           (ycor-of turtle d + y ) , K5 g0 Z/ M; R9 D/ j+ I; L6 g1 Y
         
0 g: `/ m- J. x5 S, R9 B; `7 [            
. G0 \$ m2 U2 `: Nif (remainder who 5 = 3) [set k who3 n+ k5 G8 S- k
                          set x( Wid / 2)  
# l: @3 z0 A( f2 c0 G6 f! L8 z' y$ ~3 s                          set y (0 - Dep / 2 ) ]
* K% B( a5 I3 n/ V6 D1 {                          set f int (k / 5) * 5( Y5 r# c! W+ _. U- X$ @  w# m
  setxy   ( xcor-of turtle f + x )+ W( _; }3 e% M' s
           (ycor-of turtle f + y )
4 o3 i% K/ k* U1 N6 o" {4 o           
/ W- Y  A8 }3 q. Y. {/ x           
4 t8 k8 q$ A; |' Z- ?* Lif (remainder who 5 = 4) [set g who; n% R+ J- _& O
                          set x Wid / 2
* g: a: y5 N4 J/ r0 N3 F8 j                          set y  Dep / 2 ], @6 o- Q/ D& q( @# M- \* Z
                          set h  int (g / 5) * 5
* Y% q0 B  Z- M2 W" J: \  setxy   ( xcor-of turtle h + x )) ?6 q+ X2 I# m/ K# |5 ]8 r; @
           (ycor-of turtle h + y ) ' R& P# U7 X0 i2 j
                          
9 P1 |9 M5 t" Y& p                          5 A! D7 Q2 b& W' v2 P
                          ]
& T1 b  |, H& C4 oend$ t1 Z; [4 J1 F+ o

5 q+ L. u6 A- d/ t. A! `6 b[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
8 `; x, r% n4 ?! r8 D8 u应该是8 r* `3 S1 q3 p  u  X
ask turtles [- K. r' ~- J) [2 r0 |' b
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) % Q; X) j& h1 I
                          set y  Dep / 2 9 F1 {0 I5 s0 t- F
           set b  int (who / 5) * 5
  ^0 ?# b! J4 n- P    setxy ( xcor-of turtle b + x )
. ?8 h0 S0 D  J8 s+ w          ( ycor-of turtle b + y )]]# C$ T/ `9 J) @4 D7 V
end8 ]% `# s8 p( }( Y( V8 S% A% H
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-11 15:18 , Processed in 0.018225 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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