设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7547|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
9 `! i7 v) U3 n9 P  T* b
/ J& D" G3 \' S; s* F3 c7 W但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
6 Q0 u/ Q% |$ X" Q, a# e3 z# l' ^
9 {; j9 M  P  c7 N/ yturtles-own [a b c d k f g h
4 b0 n0 E" _/ J% X0 u0 M  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
$ y% x  \# J! O* V' J]
2 q$ @. r6 l6 Pto new1 x8 x: _7 w6 L% e3 T9 @
  ca
- J3 C, c# [, n' O. T  crt 5 * num_of_building
% u: V8 z* Q& t' i) I8 L; q  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 P* d) H) v" f* e
  scatter     ;;keep center-turtle random positions   @  D: P  v4 H- K: h& g
  unit_plan   ;;make up the building plan
7 N" M+ j1 Q5 R; F- d4 s5 fend
: ]# K$ ]  Q+ T1 P. }# _) j6 qto scatter
8 ]6 X' I! r0 C1 x. X- l. Task turtles with [remainder who 5 = 0]9 Z( W( W" n  d8 B; p
[
7 k( B# D7 b( U! w$ A  [3 dset xcor xcor - 6 + random-float 15
/ _% \! D4 Z; f. H8 G0 d2 G* zset ycor ycor - 6 + random-float 154 J' ~9 K2 ~: v) Q- C9 r
]
2 o9 L: @! Z! j) S+ }end
& L2 z: \7 Y7 V0 E5 ]' U9 E6 Pto unit_plan 6 Y* g. I. f. ^2 I
ask turtles [
1 C3 T, j" b# \% I' }$ Tif (remainder who 5 = 1) [set a who
) q* h* p; b! ^6 {- @                          set x ( 0 - Wid / 2 )
+ e6 T5 X3 U2 Z* y1 k1 g                          set y  Dep / 2 ]
) l7 {1 I% ~6 m; d2 v' r           set b  int (a / 5) * 55 Y! `; {5 n( U  {- r
    setxy ( xcor-of turtle b + x )1 l, `3 A+ T4 h4 V
          ( ycor-of turtle b + y )
  N% l8 }: _, n9 k# C* g" J4 }8 Lif (remainder who 5 = 2) [set c who5 m: p! T5 q" z0 I% ]
                          set x ( 0 - Wid / 2 )
# Y/ _* K& i: y7 G                          set y (0 - Dep / 2 )  ]+ ^0 b1 R+ A3 i6 U& f& E+ \
                          set d int (c / 5) * 5
! N1 V! S8 F& l" T   setxy   ( xcor-of turtle d + x )$ _, n5 T" _1 ~# t& N$ v% M7 Y  G
           (ycor-of turtle d + y )
! C6 t4 G0 i+ P. F          $ ~/ E, D; U, o0 u- o
            
0 r5 O0 L$ @+ q( n1 Jif (remainder who 5 = 3) [set k who
# Q' ~, b* g6 e% h' c                          set x( Wid / 2)  ; V! G- a* y* J% j
                          set y (0 - Dep / 2 ) ]
/ j, }! c8 Y3 A3 t' ~- q$ a) ?                          set f int (k / 5) * 5
# ?6 ]7 J8 I6 A3 F% W4 g7 l  setxy   ( xcor-of turtle f + x )" c) ?. c& _' U8 s4 w
           (ycor-of turtle f + y )
# }, f* l( \2 `) p* j$ t/ W  r           9 ^( w1 l5 n% u* k
           - m2 O/ V, \! h5 j% Y( g
if (remainder who 5 = 4) [set g who% b9 N, V7 V: u5 L) j  d4 X/ C
                          set x Wid / 2 $ b$ S3 y& K1 R
                          set y  Dep / 2 ]  S8 v, i5 U9 M8 Y) A
                          set h  int (g / 5) * 5
% d1 D! p+ M/ A& v8 E  setxy   ( xcor-of turtle h + x )
/ q+ R; G( i9 Q) v6 |$ i           (ycor-of turtle h + y )
7 _$ p. L. ~0 _% B9 T                          $ z! [. O+ Z! e$ F
                          
3 p6 m$ n+ l3 s4 |- P" o  H                          ]# d8 {4 |( x/ k! a# n. y0 W
end5 L, A3 y2 ^' \' k% e
+ `( \0 {  j  ~, ]& h; M* Y$ Q
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! i8 l2 [# o4 P+ X, Q
应该是. @0 e9 I7 h% B' z- [+ O
ask turtles [  x# [7 g0 w+ k, ]* x* }% d1 u
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
  H+ A2 `; X) Z3 T9 l                          set y  Dep / 2 4 q; v& d3 S% P& y" r
           set b  int (who / 5) * 5
, u4 Y! @9 j# N' O  w! S# W2 S) M/ J    setxy ( xcor-of turtle b + x )7 ]  c3 g. I- t+ }' v- L8 a
          ( ycor-of turtle b + y )]]5 i, u( A! l- n6 C  L% E& c, y9 |* l
end
5 @2 c. e; d: X+ v3 f之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-25 07:30 , Processed in 0.015905 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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