设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8172|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
7 M: E- T- }0 ^
5 ?8 ^( Y( @7 E: ~: ?但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。; \9 z) H. _! ?. R( J& T$ |

1 Q2 W2 |& w0 {1 S9 Sturtles-own [a b c d k f g h4 k% x6 g3 n" F) }
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! u$ c6 T$ ~0 `7 [0 z9 {6 c], A  k: R/ N, A& `$ r  Q" L7 K$ l' T
to new8 y, i- N4 A, a" d* ~9 w  m
  ca. W7 k1 J9 U7 u$ e
  crt 5 * num_of_building
' R/ g2 r1 f# H8 t  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
  P6 H' u5 A3 n2 S* N6 f  scatter     ;;keep center-turtle random positions
  g* O( P9 H0 x9 _8 G( e  unit_plan   ;;make up the building plan
" [# ^2 R+ ^7 ], h$ |end
4 F) L( b( ?; Eto scatter' [. ?4 r( T) P0 Y$ g( F
ask turtles with [remainder who 5 = 0]7 ~- c* F5 A& G& f- ~5 q2 s$ e2 f
[! `0 x, \5 s5 z7 R; R' J
set xcor xcor - 6 + random-float 15
) t4 }% S% N, n' t% hset ycor ycor - 6 + random-float 15. T  |* ]! r( o
]
) I$ I# X" c: ]" O& {& H# H) l/ w3 q8 zend
, F  ^! d# e4 a6 L  U/ J8 V& Lto unit_plan
" @  U" M- J. J* A1 w' o# Zask turtles [$ A4 C7 ?/ K" p* V, i5 ~
if (remainder who 5 = 1) [set a who * n1 z. b" N9 l2 K& R+ P# h& h
                          set x ( 0 - Wid / 2 )
% v) S. L* Z. J% J, R+ R                          set y  Dep / 2 ]
* P. h, n( w8 r, l% N& p           set b  int (a / 5) * 5
9 r9 v0 V( n8 b  M1 T0 {! s    setxy ( xcor-of turtle b + x )( M% }. j$ h. ^: q% ~2 ~
          ( ycor-of turtle b + y ), D5 {1 s. c% q3 b8 O( F
if (remainder who 5 = 2) [set c who# o: H) O" W. q. }# q. w
                          set x ( 0 - Wid / 2 )
8 t  f( I- r$ d1 S                          set y (0 - Dep / 2 )  ]6 n. ]: e: [, F+ t
                          set d int (c / 5) * 5
. M6 d; r' a/ F) y, e7 k, `   setxy   ( xcor-of turtle d + x )/ }) e# X( V  M; d7 l, M" n
           (ycor-of turtle d + y ) 6 [- ~# m) R2 x, {5 B# V4 `  T
         
8 o  k% _' A& ?$ b; F: l/ |3 w( Y            * c. Q) D8 b, r3 R; C( n0 X5 S1 v
if (remainder who 5 = 3) [set k who
8 o  f8 x4 |/ H6 H* B                          set x( Wid / 2)  7 @' y" {8 Z7 {
                          set y (0 - Dep / 2 ) ]% o! h3 B8 f) U5 ~# z; p2 y( p) ]
                          set f int (k / 5) * 51 v# j4 N# E1 E& ^% M4 W
  setxy   ( xcor-of turtle f + x )
  V" @. [; b0 p1 g) i. N           (ycor-of turtle f + y )
8 v" H) n1 C$ n/ u' ^           
$ H- H0 J) @! e! Z7 q           
5 C6 K, H5 N1 N( @$ ^if (remainder who 5 = 4) [set g who
/ |+ y- V6 ?: r                          set x Wid / 2 6 r- ~; X: i  J3 Z- U
                          set y  Dep / 2 ]
) r3 [; y# b3 g& |% }% r3 f* x                          set h  int (g / 5) * 5
( J7 D- B& }0 b8 U& k( O9 z4 K: n  setxy   ( xcor-of turtle h + x )! z9 }. L' @; E0 k9 {: R5 [4 }1 ~8 L
           (ycor-of turtle h + y ) ( }; i: t) |; _: A
                          8 K( P7 a: p# W6 L) h
                          
9 G5 y) v" g/ n8 H+ H                          ]
; X( }$ x' R* b. d% ?5 E/ T& iend4 z6 ?% \2 @- e% S

- B  _! J; c3 D[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
; a0 A: Z+ }4 i, W) ]应该是- b' l/ p5 V+ d
ask turtles [
5 s: r& s# z3 R' Tif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
- t1 U1 p" q& D                          set y  Dep / 2 ( n: G9 ]4 S! k, {+ x# p! a  ?
           set b  int (who / 5) * 5) F; ]) V+ y6 F. Z
    setxy ( xcor-of turtle b + x )
& Q# b7 r, h3 u2 q          ( ycor-of turtle b + y )]]
2 d' W: ^! g, p6 Dend% C# \. g6 g5 I5 d( j
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-14 14:58 , Processed in 0.019386 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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