设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8857|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( e  V% X+ S/ G. D. l+ f5 |( _
& ~5 j+ F$ u( V- p  ]但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。6 F$ R! o" z' w/ M# s/ r/ T
9 {6 h5 a* `9 r
turtles-own [a b c d k f g h2 c& r9 U2 |* J( P/ s* S
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , G( l) ]( T( Z  v0 d# K
]- \1 \  z6 P( I+ G/ {8 s/ D
to new
4 P' ^; |2 o! N& k7 B2 {6 Q9 `8 ]  ca1 ]2 g; I. T5 L( T' e3 P0 W
  crt 5 * num_of_building
) |% _, C6 q4 ~/ L* t* l  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
  Q: m( b- B# ~" m5 \, W) B+ a  M  scatter     ;;keep center-turtle random positions
/ J+ W  z" N8 E4 o. d. A" L  unit_plan   ;;make up the building plan( f& {8 {- g& n) N3 a
end
* v" g& E0 H/ N% {to scatter
" a  g( U# N! p; i7 I  r- L* dask turtles with [remainder who 5 = 0]7 a- V7 T! D+ c) {% ^7 A( |4 x$ ^7 {
[
: H! e0 d3 R% {6 Q# hset xcor xcor - 6 + random-float 15& g7 I. C% @8 U) H
set ycor ycor - 6 + random-float 15& A6 z1 `" i& z$ d. c
]
, i6 E  N& ]4 G9 b( r! Pend( a/ p  P6 s  E) i8 P$ s; h. a0 p' D
to unit_plan
5 J' h' B8 Q% O# ]+ p# Fask turtles [
* B4 @4 I& ]6 Iif (remainder who 5 = 1) [set a who 7 d$ O; v" `6 W6 Q0 M
                          set x ( 0 - Wid / 2 ) - T) a+ }# [# A) A$ I* Q& u
                          set y  Dep / 2 ]
5 L0 C- L* y3 c+ O6 J5 @$ P           set b  int (a / 5) * 5( Y! S% R( m1 a- E& H) \, J
    setxy ( xcor-of turtle b + x )
$ V& f  H2 i- e1 W! v, p+ z          ( ycor-of turtle b + y )4 f4 b- W$ v" ^0 @
if (remainder who 5 = 2) [set c who8 N3 ^5 E, M* W9 e# m) \* }' C4 W
                          set x ( 0 - Wid / 2 ) 2 a( ^9 D& C1 K9 F) w7 E
                          set y (0 - Dep / 2 )  ]7 s" l  q6 Z8 O1 _! P* U4 V
                          set d int (c / 5) * 5
/ f* E+ @2 P$ U: S+ v' {+ c- @   setxy   ( xcor-of turtle d + x )1 h( y0 j" F3 F! z1 I( W: t
           (ycor-of turtle d + y )
0 _6 V$ h  a5 I# _$ w0 x         
' P7 ~/ _: J  ~# `7 A% r3 b7 v7 W              s, Q! ^  J: x0 w; f! b
if (remainder who 5 = 3) [set k who8 B, q8 k% L3 W4 c7 _- a" h
                          set x( Wid / 2)  
& R7 U0 Z2 ]8 v$ y                          set y (0 - Dep / 2 ) ]
) R# \0 J7 o  ~% b( V                          set f int (k / 5) * 5
/ ]% \! G, E! L4 w2 K  setxy   ( xcor-of turtle f + x )' z( o* }8 F6 H. c: r
           (ycor-of turtle f + y ) , S6 F' c- h$ b+ T- A* s9 E8 \0 ~
           0 v$ o3 Q6 x% A1 B# @
           
  F8 e2 v8 E1 R: U  _if (remainder who 5 = 4) [set g who6 \9 c, w; R( f3 z0 `
                          set x Wid / 2
2 F0 p5 I' C, d& f1 `# B                          set y  Dep / 2 ]; O" i' g8 D7 c* g3 d/ |
                          set h  int (g / 5) * 5! ]+ a( }. e9 m) f
  setxy   ( xcor-of turtle h + x )
0 Z" t6 k- |1 W           (ycor-of turtle h + y )   a' N1 M" e3 ?) N
                          / j) H6 z* \" G" F1 t, l. e3 \; I
                          * d( P$ B6 p: h- @: o: L2 X/ y
                          ]- R3 ^% S% J0 T5 a4 @" r0 C8 R
end
7 [* W; }& a0 P3 g5 |, |: ~0 J( x$ S# _7 i; Y% k* ~1 {% e
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
! a, h7 s, S$ b6 @7 g7 p应该是
' r, n3 O+ Q6 w) P6 Eask turtles [
/ b. z1 S  U2 E3 F1 I3 T& W6 H! sif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# }/ G) {5 O, ^2 ~                          set y  Dep / 2
, ]8 h7 A+ w# i6 N8 Y+ [- @2 p           set b  int (who / 5) * 5
" Q* d2 ~4 N3 H2 V" u, }1 i    setxy ( xcor-of turtle b + x )7 g) ]/ X) z; N' m/ J1 v
          ( ycor-of turtle b + y )]]4 q7 n+ c+ o8 C: c2 k4 W
end) V  e; ?6 s$ z
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-12 07:02 , Processed in 0.014579 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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