设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7945|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- B: ~  k! m, G, C
5 _0 J8 D: A  M. ^- T; k4 |' i$ J但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。$ K) r. g/ F, l3 N
  z# C4 O  m- d' s- d; T; z
turtles-own [a b c d k f g h
: ]) r' c/ F3 Z' o  x y     ;; these are the leaf-turtle's offsets relative to center-turtle   P# ?' n+ T( [* C9 H: I0 v) }
]
  A0 ~0 [$ y+ H' Pto new
/ \6 m1 L9 _0 J7 E; i7 B  ca- I" Y$ p; T5 r5 Q7 u
  crt 5 * num_of_building; S  }/ E* g" s4 Y
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]1 E' w+ _  M1 m' H& C; k
  scatter     ;;keep center-turtle random positions
" v6 P! F) u/ @* P2 D# h! y) }  unit_plan   ;;make up the building plan
& n5 f. @5 o! [( u4 H; m( M% Qend3 @9 N* \  g4 i/ k8 g+ N
to scatter, a6 c  h& G6 f/ K( j) F/ o
ask turtles with [remainder who 5 = 0]4 ^2 E# e* A( @/ B. e$ w- w5 h
[
/ p, I4 S% l( w% ?set xcor xcor - 6 + random-float 157 B* j0 D1 f; C7 q1 f
set ycor ycor - 6 + random-float 15
8 r4 `0 h& k8 q# R]- ~! @6 u) `+ v
end
8 u& P, D! S- p5 X  Q  ]to unit_plan
" M, A( y, B0 Q( rask turtles [- m/ B- R8 h6 T" B2 H
if (remainder who 5 = 1) [set a who ; D$ T, z& ?" U# d; m( n$ v4 i
                          set x ( 0 - Wid / 2 ) 1 O( J* i. r0 J3 C
                          set y  Dep / 2 ], ]; V2 a. R& l2 `3 Y
           set b  int (a / 5) * 5
* R1 C9 e( |6 M7 G& b    setxy ( xcor-of turtle b + x )' B- D4 r! z, \4 U+ U
          ( ycor-of turtle b + y )
' g) A) D) c7 y+ U/ d% Sif (remainder who 5 = 2) [set c who
, v. i8 n3 F( L3 I0 k+ n) U5 \1 ^                          set x ( 0 - Wid / 2 ) * O+ G0 p# G0 a
                          set y (0 - Dep / 2 )  ]3 h0 u, n1 H$ F4 i  d/ \( N
                          set d int (c / 5) * 5% b2 B0 M" M- y$ |
   setxy   ( xcor-of turtle d + x )% ?# l: }3 `7 I$ ~" e
           (ycor-of turtle d + y )
) K* [5 D, D7 [  C' w$ H7 o         
: e7 A" b! P* U$ B: Y0 X            & ^( g  F( d8 c( T) V
if (remainder who 5 = 3) [set k who! B+ e! @2 u8 A8 C4 w1 x
                          set x( Wid / 2)  
( ]5 C3 C: ]; Y6 _* @+ e                          set y (0 - Dep / 2 ) ]3 m# a/ |5 N4 B
                          set f int (k / 5) * 5
$ ?8 ?, I, S1 q, t' b3 j) K% ~2 U! j  setxy   ( xcor-of turtle f + x )" R7 l0 ~% y' \
           (ycor-of turtle f + y ) ; \: X# M- ]  s+ e! b# ~
           
7 A! P1 |& c6 _+ J( J( V$ L+ T           7 l7 I0 I& r- m! B+ ]8 o
if (remainder who 5 = 4) [set g who
2 [, ]; n1 w) T3 v# I* f                          set x Wid / 2
" `; g/ T& c% O0 D4 x                          set y  Dep / 2 ]
0 C- z; J, f: }1 c3 a3 R8 P                          set h  int (g / 5) * 5# _) n, B3 f+ e& Q& n
  setxy   ( xcor-of turtle h + x )
9 X7 n! p- {  D) v0 s( X5 p6 P           (ycor-of turtle h + y ) % e* A; y9 v5 F6 @
                          
4 L) z9 [4 \" R/ j9 a                          
) \, y1 b5 u% `. O+ r4 X2 q% O) G                          ]" G, A3 ?  f) t0 Y* c
end
5 }% f# w( t" I" q: j. z) \6 J  q% ]& |/ Q0 y6 o2 _" M
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
. _5 ^% O* D. e. X6 `8 _3 ]* S! [! \应该是( `2 p. L# T( z3 n1 d) w5 Q
ask turtles [
8 P3 k& s8 w1 h) g/ u& V9 Gif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 3 S) o+ q0 L( v# V/ h! t9 E
                          set y  Dep / 2 $ |; H- C8 f; g
           set b  int (who / 5) * 5, V' d$ z' H; ~0 ]( V+ `; ^
    setxy ( xcor-of turtle b + x )6 C& l8 w5 _2 e  o- k
          ( ycor-of turtle b + y )]]: p2 N. q; _8 A9 p4 l  {3 Y! w
end
" ^8 \& @4 g! p之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-20 16:20 , Processed in 0.024206 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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