设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6797|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。* A: @% s' \- k+ T+ u& d6 o: S

/ S. r+ a3 W0 {但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
7 t- n; C! U1 g- U2 x$ e( d, e) x7 @1 P1 v* q, k
turtles-own [a b c d k f g h7 z( k' o/ K9 a
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
. D) O7 z* K5 E3 n$ @]: b( W9 j6 c5 }" j) P( Z2 F7 c8 T
to new' a4 s" j0 A! j7 A5 a& \+ |
  ca
9 P) D% K5 F3 \0 x; R2 j/ }# S  crt 5 * num_of_building
' r( V. I: M8 k7 @$ ^  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
8 D, e* s( ^& W( _) w8 I  \  scatter     ;;keep center-turtle random positions
5 z; r; x  ~4 G+ K# F  unit_plan   ;;make up the building plan0 h1 v4 Q: K9 _
end
, w% x7 y( q. {5 Q5 a# bto scatter
* `  a5 N# h6 x' Y, d6 |ask turtles with [remainder who 5 = 0]  u' a$ V  Q, `8 I+ L2 r2 ~
[1 g5 ]7 L7 R$ e: L
set xcor xcor - 6 + random-float 15
2 t* k) S& G8 c/ Jset ycor ycor - 6 + random-float 15+ ]# a# U$ t# C# @* N. y/ A1 T
]0 s/ ~9 `) E! H' P% J; G" Z4 }/ o
end
' T9 I' ^  `* r3 z( Pto unit_plan * \/ E; U7 k( v& f
ask turtles [; q( w& I+ Y2 v% p0 Y
if (remainder who 5 = 1) [set a who
( i, T5 W! ^( R5 p                          set x ( 0 - Wid / 2 ) / d/ T0 r: l" t5 Z% T
                          set y  Dep / 2 ]
7 J" S1 L7 R8 O: ^           set b  int (a / 5) * 5
5 S/ v. A6 u6 f0 T/ s& ~    setxy ( xcor-of turtle b + x )
' x% u4 `7 e1 e; E- P9 b          ( ycor-of turtle b + y )
' ~; W9 m( C  J& ~+ A( t2 \. a0 Fif (remainder who 5 = 2) [set c who# T6 ]2 C9 N! @! Z( l( g3 s) C' ]% v
                          set x ( 0 - Wid / 2 )
9 [# U0 |: l6 y                          set y (0 - Dep / 2 )  ]8 e1 X$ T+ u1 f& h# @) \9 L
                          set d int (c / 5) * 5
9 }) E' w- p9 k' u" W/ Y   setxy   ( xcor-of turtle d + x )
& I# f* Z( v6 ^8 O4 j           (ycor-of turtle d + y )
! h% v" d6 k$ b1 I# V6 y         
% t, A7 N  Z, u2 w4 s1 `5 k            
& \' Q, w- q1 ]0 \& f3 nif (remainder who 5 = 3) [set k who
( b  I1 _5 Q; Q& Q3 x- S' y                          set x( Wid / 2)  7 L: Q3 ]; i. c, t1 K/ Y# {. a
                          set y (0 - Dep / 2 ) ]; S. d' c/ n8 H! O
                          set f int (k / 5) * 52 f. ]1 g9 p- [' ~( H
  setxy   ( xcor-of turtle f + x )( r5 }& K) `3 T2 r) K/ K
           (ycor-of turtle f + y )
0 x1 u0 I: V0 K6 I) z3 r; y; q9 D           ' o) X/ w; u  E. Z2 K
           8 B( y, V( @3 ?. E! D4 D; V" }
if (remainder who 5 = 4) [set g who% o1 L/ h0 R" i) r# p3 \. `
                          set x Wid / 2 ( C. L9 Z, ?9 y) i
                          set y  Dep / 2 ]+ f- n0 |* J5 D7 y- y$ i
                          set h  int (g / 5) * 5
6 H7 ^1 s( ]3 f8 I+ w  setxy   ( xcor-of turtle h + x )
. g' J5 S3 E, h# F' W; b( ?0 O           (ycor-of turtle h + y ) / a, P5 y; C( M% `/ z
                          
0 h* g- k: j/ q/ D$ E                          " s% J! x4 z: V& K4 x! T2 N4 Q
                          ]
  ?% ~" T! ~$ s+ u; Rend
5 q- i$ X" b- ^9 t! m. `7 ~# ^$ g' M" }9 p/ j  a0 J% q" n
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
0 h% L6 A4 ]1 B% D应该是
1 L, |% }, d, `. N1 d. x2 W$ l$ @: bask turtles [
% _! ~6 d# r! Y* H, L" Q) lif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# l. [/ D% A. Z# {' k9 V" b# G                          set y  Dep / 2
+ A/ F2 Y: c1 b           set b  int (who / 5) * 5
5 C' J5 m  e$ G) G4 y( C    setxy ( xcor-of turtle b + x )
4 X3 I6 V( k. m1 y. n& |          ( ycor-of turtle b + y )]]
5 f) O, s% [3 y# d* qend5 N" |4 A) s7 N  U0 t
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-24 08:31 , Processed in 0.017145 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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