设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8682|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
* P* ~; d5 C" S3 s) X: x4 p, E' V/ a
6 P' U7 Q" p2 A( w但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。" \) `9 N' E  ~2 v; f2 g" h% {
( v& p- y# O' s) P- d' S0 L
turtles-own [a b c d k f g h
  N- A0 t$ u2 {  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 3 V  t3 ^( ^9 ~( J
]
. g% u0 a, q5 p! v. I9 eto new. m; ~$ A: ?: L$ y/ D1 t, \
  ca. a6 B2 g3 I2 u
  crt 5 * num_of_building
8 K$ A6 A3 Q, E3 }4 }# w  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
! y9 }6 [1 y8 R% y' G% q  f  scatter     ;;keep center-turtle random positions
0 q) i5 W" u) i& |0 c  unit_plan   ;;make up the building plan
- e; H  V* n# vend
) X- d* p! T" A: h- wto scatter6 a' ]9 d5 V' P. ]3 U$ }9 [8 |% N4 z
ask turtles with [remainder who 5 = 0]. k& R4 P  |9 a1 u4 ~7 M
[
5 n' R) y6 N6 ^% G: @1 wset xcor xcor - 6 + random-float 15
, [, D) k2 |6 R) k, pset ycor ycor - 6 + random-float 15! s( H+ H/ C/ n3 b
]
6 ^( a4 e" k. H8 ]; send
% q0 v1 g5 @6 P8 E& _/ Bto unit_plan 9 M1 u8 H0 ~# ~
ask turtles [+ W) `( U( f  O8 [! p9 x
if (remainder who 5 = 1) [set a who ! O; \  I$ j) Y, P" d5 Y% B
                          set x ( 0 - Wid / 2 )
' ?; f! K% E4 [: ~4 }, B, P                          set y  Dep / 2 ]) L5 U, p' {! H
           set b  int (a / 5) * 5
$ _$ W2 g0 E; R9 _6 f. \- O7 S, g    setxy ( xcor-of turtle b + x )9 _7 O9 ^- p6 e
          ( ycor-of turtle b + y )9 f. X2 c2 M4 e7 w. F# d: Q7 C
if (remainder who 5 = 2) [set c who
; I: S( K4 V7 n0 \; G1 V                          set x ( 0 - Wid / 2 ) + B; I" G% M& A3 E8 d9 R
                          set y (0 - Dep / 2 )  ], J  x8 ]% h0 ?5 I# D
                          set d int (c / 5) * 5% H1 ~3 X' T% C- g+ e7 \
   setxy   ( xcor-of turtle d + x )$ h4 e* x1 ]$ `3 Y& P4 K. E8 |
           (ycor-of turtle d + y )
( E5 ]0 d) H! b; ]8 l          " e- e( x2 |; }- d: s
            
; l0 }: C+ t( ]  kif (remainder who 5 = 3) [set k who  ?/ ?5 k" J' `3 J: i) l
                          set x( Wid / 2)  
# o7 f* S( a, O8 [& L$ H                          set y (0 - Dep / 2 ) ]6 j+ r% u) }* Q# T4 O
                          set f int (k / 5) * 5  l7 ^# u8 l( D3 F
  setxy   ( xcor-of turtle f + x ); w- Y* n# u" I# S
           (ycor-of turtle f + y )
' X# y( m1 t( T4 q8 m$ a0 W$ X           / G9 Y8 G! h5 ~4 w# \
           
2 Z" H- h3 ~8 S$ J- g7 y) d9 t2 Jif (remainder who 5 = 4) [set g who& S3 ~& k3 d4 t7 I/ O& @- `' U
                          set x Wid / 2 & f9 C) e! u+ G
                          set y  Dep / 2 ]
1 J" H1 g3 ?+ A9 U3 ?+ M% ~                          set h  int (g / 5) * 5" W( b5 [7 o/ s9 v( a- c
  setxy   ( xcor-of turtle h + x )
1 N; i9 W' c( J           (ycor-of turtle h + y ) ! {8 Z3 I7 A; B( z5 |) u) u/ ?
                          
; R3 p; P2 f7 h. L8 K6 b                          
9 z* L0 e2 K8 s9 K# _( C                          ]
7 }# m: I* m$ n9 h  F: I% Send
, S, h2 a* g4 F/ [2 U0 Q2 ?7 K/ r& u, d
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,% k3 ~! F; z2 R1 J9 S; _1 J6 G
应该是
/ G* V7 \  G( I# A' k* @$ {ask turtles [
# n( ^+ [; f( [  g; I- ]0 nif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) - L% b1 U& ^2 S$ i7 C. ]! w3 D1 j
                          set y  Dep / 2 3 q5 i3 C; F* C1 Z% O( W* p
           set b  int (who / 5) * 5  M4 l/ F+ }  i
    setxy ( xcor-of turtle b + x )8 l: R& u$ B( }% b: H' J
          ( ycor-of turtle b + y )]]% S3 w& i! I3 }% q) v) @% ~  N
end0 G/ l) r0 K8 @  x! B* m" K, a
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-25 12:01 , Processed in 0.014101 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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