设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7562|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
1 h9 w! n9 F  r+ H2 W1 C! n' h( @* k2 S
: M: l! c7 Y. L+ Q9 k7 J" m但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。$ k# K1 m, Z4 j* n8 J
: C4 k) I, }$ m% G! m2 `8 h
turtles-own [a b c d k f g h
9 o9 T6 R# q; ]6 U  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: K9 M+ t3 J4 }" |4 a]
1 ?, A; |& T6 G8 N  W0 _0 dto new
9 F* C5 l  H% Y  ca
+ j2 w. M, Q) N0 @2 ?, u0 }4 Z  crt 5 * num_of_building  H; Q0 h2 e' i4 }$ o/ v
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
3 D# K) R) U* K( T* ?5 S  scatter     ;;keep center-turtle random positions
3 p) \: g- l% F6 C. `  h8 q  unit_plan   ;;make up the building plan
: I5 t" H. L  a( Y1 Rend/ V7 k; H3 V3 J
to scatter1 Y% o5 G( g3 a% e6 E- [2 }
ask turtles with [remainder who 5 = 0]1 e2 A' A% E+ s: E- W  W- n
[
% n1 N( S! _  L0 w2 Y, O) o0 ~0 Yset xcor xcor - 6 + random-float 155 G! W9 f2 C5 P" M5 F" q
set ycor ycor - 6 + random-float 159 V5 w6 d2 A8 V5 W$ ~
]: F, R6 }  w. W5 F( W0 C5 W
end
( `5 s5 G+ x( f8 Fto unit_plan
* Q7 B' ^6 K, _+ q3 \# K0 lask turtles [* `0 v" p* B3 [, u3 a0 O7 v
if (remainder who 5 = 1) [set a who
& s8 x. |8 j6 q" H                          set x ( 0 - Wid / 2 ) 6 V4 q7 D( w$ T. e3 r, i- M
                          set y  Dep / 2 ]0 x; G, e8 x5 M- z& G& L8 T5 f
           set b  int (a / 5) * 5
- C3 [& V) U( k. g' s% a  u/ J    setxy ( xcor-of turtle b + x )
, q1 x2 \% z; E: H- j4 i) g: C1 ~          ( ycor-of turtle b + y )
9 q8 E4 o9 @/ M# E/ |% l5 Iif (remainder who 5 = 2) [set c who9 n$ `7 ~/ Y# z; x# I  n$ G
                          set x ( 0 - Wid / 2 )
5 e+ B* e1 p3 ~6 [& T8 W& s                          set y (0 - Dep / 2 )  ]. x$ p, K4 X) K3 a
                          set d int (c / 5) * 5
  F- ?3 _0 u. U: j   setxy   ( xcor-of turtle d + x )0 c& s8 `2 v( B
           (ycor-of turtle d + y )
. D/ L4 E, A; V$ J% m         
3 Q9 E1 ]2 d" V! `9 [            ) K4 ?; R4 W) y: A, p
if (remainder who 5 = 3) [set k who
! i8 w# e+ m% u$ R* J                          set x( Wid / 2)  
, W! x4 y! [! G% t8 J3 @3 n- L) u                          set y (0 - Dep / 2 ) ]% `1 y5 `! T# Q" G2 L# b# e- `
                          set f int (k / 5) * 55 J4 d4 ?/ j, D7 o- }: q* C
  setxy   ( xcor-of turtle f + x )
6 R/ F8 c1 F" Y           (ycor-of turtle f + y ) 5 w# ~1 x& j) [: _: s
           ; _& c, u& g% V! w
             R! D0 V8 J! \
if (remainder who 5 = 4) [set g who
4 o9 Q; \8 J& ?1 z( E                          set x Wid / 2 # D; B" u% `) V- H* D& T
                          set y  Dep / 2 ]; }2 X* x7 z( I8 G5 t$ [
                          set h  int (g / 5) * 5
1 V; H+ s" p; m  setxy   ( xcor-of turtle h + x )
% @  C) s1 p' j! j           (ycor-of turtle h + y ) * u* B/ k) M3 O- [' U) C; t9 @
                          1 f$ U* O4 a; k+ F- G1 X) R( E0 K
                          1 t7 w# p. e7 `
                          ]3 \% y' S3 ?' D* V1 j
end' [! D1 {- W1 h0 _

3 q' H5 H/ Q4 t7 L. r% A[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,/ i& _; a1 W/ U$ d; e
应该是* ~4 q6 G0 w7 }8 M
ask turtles [* U9 k- W" g2 w/ w; d5 u) o
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) * x  o5 U5 E2 W' `
                          set y  Dep / 2
7 ^# B/ p3 B; q, {           set b  int (who / 5) * 5
9 B9 E8 U% B( F; F0 D' M- _    setxy ( xcor-of turtle b + x )
0 x) f0 z2 l& ?5 R( U5 g- E$ L          ( ycor-of turtle b + y )]]
( [5 m( }& Q6 Q( d' Pend
" {) ~, A+ z& h. w1 }  p$ b之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-26 23:43 , Processed in 0.019317 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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