设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7028|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。5 B( b5 e+ I* W) ]9 A/ c. \3 ]. c8 ^- A
8 J' H" {, m0 F! q
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
$ m- b7 [0 c7 c& @$ j
8 c8 f0 R- m+ _; ~# J4 A! S( ]turtles-own [a b c d k f g h
: M! ~) Z$ m& P8 B  a  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
& T" \  b0 Q  A( A; }5 R8 s]
- G$ j7 F7 v5 D6 G* I& r5 K: Wto new2 W& j/ G: _. P0 h, k7 d
  ca4 i) M$ E/ v1 `% o$ v
  crt 5 * num_of_building/ H9 J9 H( o- ~7 l
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]* @: f  L& _: C4 h. s) Z% K
  scatter     ;;keep center-turtle random positions
( J7 Z5 n/ r; E8 Z. }5 E  unit_plan   ;;make up the building plan. J0 D# ^6 c, P0 u. t; X
end" y0 n* k6 \) ?5 v. L% Y  ~. r4 ?! b
to scatter5 M6 E. U0 r' X1 |' j
ask turtles with [remainder who 5 = 0]
9 v" \: o7 S+ L( S' U[: w8 g5 A  n, l' b$ G9 M
set xcor xcor - 6 + random-float 15
3 O; p4 H4 C5 u2 N8 Cset ycor ycor - 6 + random-float 15
! `: f2 ^; [* Q9 J2 a]- C4 A# X7 t/ w* H
end
; A8 Q1 v, n& X% `$ l2 i, b4 |! P6 |( Kto unit_plan ! e- j4 P9 F# s# S
ask turtles [6 E/ y* [8 m1 C6 Q( r3 s, g
if (remainder who 5 = 1) [set a who
$ S6 M' w, ]  t- P; n                          set x ( 0 - Wid / 2 ) ; e" m6 Z1 Q/ }/ b* x
                          set y  Dep / 2 ], u- t. N2 m" E5 [& M
           set b  int (a / 5) * 5
9 Y1 n, P- C. e    setxy ( xcor-of turtle b + x )& r1 Y. s3 b& b3 h7 Y9 E
          ( ycor-of turtle b + y )
3 L1 z$ j+ q, \& X4 @( @if (remainder who 5 = 2) [set c who# f; Z, |1 H1 Z6 o# Z* N& E
                          set x ( 0 - Wid / 2 ) , s5 I2 c+ P1 O8 i
                          set y (0 - Dep / 2 )  ]
& M- F+ V* W7 g6 H                          set d int (c / 5) * 5
# `  Z# p" R2 e1 @& l; X   setxy   ( xcor-of turtle d + x )$ d% N8 s/ g& k( J+ o( t2 D) N
           (ycor-of turtle d + y )
: n7 C5 U( w7 A3 V         
9 {1 o4 F! t2 i4 W4 \* ^            
7 ^# K/ Z! Y0 w$ i7 @if (remainder who 5 = 3) [set k who$ [" w7 f* y% e! j2 L# V; g
                          set x( Wid / 2)  0 f- o& j4 S: x' G
                          set y (0 - Dep / 2 ) ]
% w' g6 x5 N) A1 f* u, l                          set f int (k / 5) * 5
; b3 J! T, s; V" y  setxy   ( xcor-of turtle f + x )
) m% {4 [. s+ D: Y) H% w           (ycor-of turtle f + y ) 7 p+ }( d' u6 Y
           ; {2 r3 D; U0 w4 L
             ^0 n0 j  s' U  R
if (remainder who 5 = 4) [set g who( J& N+ l* S+ y" K
                          set x Wid / 2 # H' L' d; N# C" u* ~( N- `" ^
                          set y  Dep / 2 ]0 F: H- u9 y8 F5 ?
                          set h  int (g / 5) * 5
; h: h9 r" P5 J- j  setxy   ( xcor-of turtle h + x )
' a. ^& E/ A$ F! n' O           (ycor-of turtle h + y ) ! C3 E0 h( ?, q* V& x
                          6 {8 O, O8 `( c$ r
                          
# {3 i. `1 v: }+ `                          ]8 n2 z: r+ G7 c" v( s2 Q: s5 b8 o
end+ g; y/ o9 R* m! E1 Z
2 X: t- t: J0 v( ^" t" N) \+ q
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 p. w6 g1 I$ l: [1 L$ z, `应该是
0 N1 |, s0 v: D6 [: oask turtles [
/ G& {+ n3 s+ d9 n7 G, eif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# I- c/ `' g) g) |                          set y  Dep / 2 * L! Y6 G- n8 H" s  t) C5 M
           set b  int (who / 5) * 5/ u: A* ^" h& d* u: n
    setxy ( xcor-of turtle b + x )/ q. J1 H' U( M3 A; N& J7 i; q
          ( ycor-of turtle b + y )]]" a+ ]0 h, y: H; u! W: \
end; D& ^% Q. _1 T' X/ b  c
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-18 20:38 , Processed in 0.015413 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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