设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8688|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。4 C. Q$ R, e" W( v5 S
9 w. A6 b1 m+ k6 g4 `2 S
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
, B# ]& Y7 s  w: D9 w$ B0 V9 r: u  ~7 B4 Z: Q/ f6 |# S
turtles-own [a b c d k f g h" ?1 X5 P3 c) [; i3 k6 `* i
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) a& n: l$ G. [1 a2 {
]6 N) F9 K7 `/ @7 P, Q
to new
1 _3 n2 s  k9 H7 D& m1 x/ m  ca& V  L0 \7 ]* ]4 Z9 f$ P
  crt 5 * num_of_building- D2 v! g/ O( c
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]! M) t& r- Z& `5 n
  scatter     ;;keep center-turtle random positions 8 g9 l. D3 _( {9 B( Q
  unit_plan   ;;make up the building plan/ _/ b6 x- x# f! [  l- i5 k4 B8 ?
end) w( A6 J7 b: l
to scatter1 R- h) e" j8 T
ask turtles with [remainder who 5 = 0]5 L- J+ [" W6 p: w. V
[
! e1 ~/ J* \0 nset xcor xcor - 6 + random-float 155 |6 n, l3 B: {) d
set ycor ycor - 6 + random-float 15
, z5 |6 a0 _6 ^& |]5 H0 Z( v3 u0 o& k. G( `' r
end
1 L- |) L7 _2 K  X7 M: k% H: Pto unit_plan ( r2 J- W/ L5 l% v( {; g% F' d. b
ask turtles [4 V1 p0 `+ v0 C8 Y2 l) |
if (remainder who 5 = 1) [set a who 3 h4 q- l! y0 B/ K; _" r6 @; Q' Y
                          set x ( 0 - Wid / 2 )
9 O0 ?( I8 {- b5 E' _2 N$ k8 P                          set y  Dep / 2 ]
6 j( c' P! k/ Z           set b  int (a / 5) * 5; J+ e  S) p0 j/ @9 [. x
    setxy ( xcor-of turtle b + x )
- e6 T, w9 g$ u4 X* A# O4 H/ O          ( ycor-of turtle b + y )8 p- a  m, q% l9 ~6 Y
if (remainder who 5 = 2) [set c who1 g+ j' d% f0 B# G  E- X$ I& o
                          set x ( 0 - Wid / 2 ) 3 E$ G4 m9 b! C  O. m
                          set y (0 - Dep / 2 )  ]& M9 W! I' U( [. b0 b
                          set d int (c / 5) * 59 v2 {/ F; N0 }% P* w( u3 c5 V
   setxy   ( xcor-of turtle d + x )0 A9 l( f! M- b2 v6 N2 f
           (ycor-of turtle d + y )
5 Q- l8 ^& l8 \$ S5 f  P  q         
3 q  p3 _0 \: F% u: r. F            % ^# x) G% C" Y( ]4 S
if (remainder who 5 = 3) [set k who% n/ V5 N- j1 c
                          set x( Wid / 2)  6 w7 x  A+ F; N+ r. a8 E
                          set y (0 - Dep / 2 ) ]+ c5 X6 l2 i) ]( u& W6 i8 e" Y6 A+ r- x
                          set f int (k / 5) * 53 B% v: S7 T! @# n& \4 [" P) D
  setxy   ( xcor-of turtle f + x )9 c/ G% b8 B3 V* C! y4 b2 ]
           (ycor-of turtle f + y )
3 \6 V5 X) S" {; i& D           
( [4 ]* y+ ~; ?2 k* I2 H! A           
4 `. G' X1 l+ }+ Aif (remainder who 5 = 4) [set g who
& @! ?5 \7 X7 C/ S; J                          set x Wid / 2 8 \4 Q1 a9 ^6 [7 C; l0 E0 D$ a
                          set y  Dep / 2 ]* a$ s7 B) E7 K
                          set h  int (g / 5) * 55 c0 U2 y+ w8 O' Z4 z6 s
  setxy   ( xcor-of turtle h + x )
* |+ r  t4 A, j: A. q           (ycor-of turtle h + y ) 2 x8 t6 X9 o/ N
                          + i$ H- W$ Z3 d
                          
) D! }9 a# O" ^6 T1 T                          ]6 W4 O0 Y  o* D! G/ ~
end+ X% X: g( I- K7 {

$ I& K7 b- W! b% y( I) i; {5 s[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
# X# b3 ], h# y) m应该是
4 q. x9 p6 V, P+ J" T/ }! nask turtles [4 N* U1 S, W/ x+ X! [( H. m
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
$ C" j! A9 f) B4 l, E0 g                          set y  Dep / 2 7 n$ _5 _4 Z$ R5 ]! V9 `& j
           set b  int (who / 5) * 5
3 E% y% G9 }6 l0 L" \" g; C    setxy ( xcor-of turtle b + x )
  N; P, s, p) D; P/ Q          ( ycor-of turtle b + y )]]; r! `8 T$ ^' d  M4 x9 M: z
end6 q, j7 n- P% ]0 u4 L* B- R% Y/ U' U% n
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-26 00:39 , Processed in 0.012485 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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