设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8137|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。  Z' W4 c! r  j/ V9 r
0 h# d: d& s, B. K
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
) e: E" v$ W' L& N6 m$ v& r% L! Q' r' D# X4 z4 c. F# N
turtles-own [a b c d k f g h$ d% h$ ~# X7 s; m) z% I9 C
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
" j1 A0 |% S* r]
' Q: v" ^0 g) \8 Z6 Bto new
( t  F+ ^7 x3 W& _8 r  ca; G. O4 I0 m* C, M
  crt 5 * num_of_building
5 r5 D: g* f9 ~; K  u" A$ J  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]) i1 {' w. m; w: ]+ C6 W, L! M
  scatter     ;;keep center-turtle random positions ; W, K3 M# [0 V/ x/ I
  unit_plan   ;;make up the building plan, N" w3 [! p  F: ?1 j3 X% }
end7 w' i; s  ^( E( j- R
to scatter% Z$ V5 f, y  W, @6 A* W1 i
ask turtles with [remainder who 5 = 0]( X* y- s9 S0 r7 Z& Q
[
* h3 J: i: w1 B6 Gset xcor xcor - 6 + random-float 15! F4 ~; r+ ]9 U! R+ U! A5 w
set ycor ycor - 6 + random-float 15, T3 N5 m# W! a0 i3 w9 ~5 j
]
( _+ t( @/ O' P: v: F. v; i" {end, n7 F  S% ]  v/ I0 k3 `4 x* u
to unit_plan
& c8 P" ^3 s7 p) X5 Pask turtles [
- O# @$ |' ~! W2 D% v9 B! Vif (remainder who 5 = 1) [set a who
9 N9 Q: i# o" A/ ?! m" `- ~* ?( J                          set x ( 0 - Wid / 2 )
$ F0 k9 T% f. ]% u                          set y  Dep / 2 ]
* _' g' v% D& U7 ~% E5 u; j9 Q           set b  int (a / 5) * 5
3 b" `$ D0 o3 b; Y3 i! I! D& Z    setxy ( xcor-of turtle b + x )
7 ^/ B) D) O( s0 X          ( ycor-of turtle b + y )1 K- X4 a7 ?# k
if (remainder who 5 = 2) [set c who" P4 l3 k. j8 K& Q
                          set x ( 0 - Wid / 2 )
4 O6 R0 n" D6 G; f, l% b                          set y (0 - Dep / 2 )  ]
' ~: t# ~  T8 a: j                          set d int (c / 5) * 5
5 d+ ^! c, t; z8 K   setxy   ( xcor-of turtle d + x )
0 K6 v/ \1 k$ K$ G4 }4 G* D           (ycor-of turtle d + y )
$ q! F" L$ [: b/ i( R          : D; f% R" w* n( a0 x" {
            & M) c! J) e# q9 k
if (remainder who 5 = 3) [set k who& U: r3 B. w/ }4 f% x9 Q' o
                          set x( Wid / 2)  # c  b3 _8 U$ R! x, ~/ C8 Y
                          set y (0 - Dep / 2 ) ]
: ]6 u- y: E7 v9 i+ U- L  {$ }                          set f int (k / 5) * 5
! k3 S1 a6 s( A5 E1 A  setxy   ( xcor-of turtle f + x )' N0 I. W% `' S7 _/ ]. r$ D
           (ycor-of turtle f + y )
# b' x, j0 g6 Q! B6 S! O" q; N           # @0 {( B8 _& f
           ' A5 |6 H6 l6 `! H
if (remainder who 5 = 4) [set g who, k/ `' y  B; ]8 C$ t( r" ]+ H
                          set x Wid / 2
. E* c2 V/ {2 x5 X) i- I4 q9 i" L                          set y  Dep / 2 ]
) X+ r, ^6 ]$ L+ h. q# O& U                          set h  int (g / 5) * 5
% M/ ]( H2 E, h. s! \& s& L! p  setxy   ( xcor-of turtle h + x )
6 V3 L) r$ e6 k7 A5 B' V* A           (ycor-of turtle h + y ) ; d' W. K( Y$ T: A
                          ; N$ x: p5 T3 f* w
                          3 a8 S- V( q  U4 a/ v( ?
                          ]  X* S9 ]* w7 R! L" |! Q
end0 H4 }, {4 z2 C5 W/ s& s

4 G/ \' v) o+ |[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' M8 i9 u% U  B* N+ C3 I应该是4 F4 a; }( F1 M) h) d& E
ask turtles [
8 d. i2 \& z% Eif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
+ g$ W$ ^1 R/ y1 r/ K7 }                          set y  Dep / 2 ' E) w; z5 w( F2 a( m# h
           set b  int (who / 5) * 58 q0 p% d" y9 F
    setxy ( xcor-of turtle b + x )
$ j2 I, O# F% u          ( ycor-of turtle b + y )]]
$ s4 @9 P0 o+ H0 S, T- Iend; m) G. p) c# t7 T0 J; z  I8 Q
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-10 11:31 , Processed in 0.018193 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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