设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7489|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。0 [* Y$ X" w5 ^. H8 h2 A$ o$ I
/ n% U2 u: g5 y$ _% J+ K' L
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。+ _1 ]* q4 X) N" D$ D

8 D8 G3 M* s. }& J, m$ Cturtles-own [a b c d k f g h8 b% `/ h# C, N9 p& `
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
" X' w& K6 T+ l]( b& d9 _* z0 k2 E& h
to new
! u# v4 [; E1 x- _1 Y5 x5 _  ca
8 {* Y$ y, E) c+ \  crt 5 * num_of_building; l; W' `0 W% Y8 {8 ?/ o. w, n7 O( }
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]+ X5 J) I& D' i3 c8 B5 e& U. U
  scatter     ;;keep center-turtle random positions
3 o% n4 E) N- @2 q. q% L  unit_plan   ;;make up the building plan
: ~( ?6 D5 l5 G, rend) Q9 l! m+ y9 Z* e
to scatter
# ~+ B$ M  k" s7 B# e; U( iask turtles with [remainder who 5 = 0]
6 E% I- F; \8 L& U% x[6 v* t* G7 `$ M3 F) H) S- p
set xcor xcor - 6 + random-float 15" A% m5 x6 E( m, i( _
set ycor ycor - 6 + random-float 158 U7 ]3 S$ M, q5 g$ `
]
3 C1 F/ n9 C" A0 H2 Iend6 `; o; R- W& a1 P
to unit_plan ' v$ ]2 o; Z$ M1 ^- ]( _- p
ask turtles [
6 Q8 f6 h. n$ X. [: ?" E5 ]" vif (remainder who 5 = 1) [set a who ' j) {- H2 |( U9 Q( A. F! {9 e
                          set x ( 0 - Wid / 2 ) 5 p. x( c4 k- K1 L0 S& d7 l
                          set y  Dep / 2 ]' K" x2 C! Q, l! j
           set b  int (a / 5) * 5
6 f) K( _- A8 ~% @) Y2 s. Z    setxy ( xcor-of turtle b + x )
! y4 \4 j+ b* C' w, y          ( ycor-of turtle b + y )
' R7 Z, Z8 `! s& `, I2 O1 nif (remainder who 5 = 2) [set c who/ e6 k% q0 y; a4 z7 Z1 C
                          set x ( 0 - Wid / 2 )
8 ^- B2 g9 A$ b$ A                          set y (0 - Dep / 2 )  ]
/ b' q) c% M2 |- L4 A6 m$ K" L/ z2 w                          set d int (c / 5) * 5! u5 Q4 T9 A- w4 E" M, `( e
   setxy   ( xcor-of turtle d + x )
! b7 \* }" D9 v2 Q7 N+ _1 `- \           (ycor-of turtle d + y )
! X  Q6 X' r. L          + [! {! U* X6 _# n- v) ], n& |  j
            
5 B4 x* ^, x: w8 N, ]7 Pif (remainder who 5 = 3) [set k who
* o: A! {, {2 g5 D: g; o                          set x( Wid / 2)  
6 B% y) ^( z- q7 n4 l  S                          set y (0 - Dep / 2 ) ]
, f* A. t( c6 o+ V4 c) b. S. ]& E                          set f int (k / 5) * 5
& k0 ?% ]& C; I6 {  setxy   ( xcor-of turtle f + x )' Y7 F5 R1 f+ V
           (ycor-of turtle f + y ) * o' [2 C+ \4 g, e7 D4 L  E  U, h
           " }: Q  W% {7 R, d
           
  g( t  ?) @- \4 T' {' f8 |! x& Iif (remainder who 5 = 4) [set g who
" V3 F2 N# j6 m4 ?6 `                          set x Wid / 2
: n- S- K( X( }8 Q6 H                          set y  Dep / 2 ]# f5 @7 {3 r1 t1 q9 M
                          set h  int (g / 5) * 5% r, x) m6 I) m8 j& q, U$ ?
  setxy   ( xcor-of turtle h + x )
6 x2 ]1 E; f# M0 G7 {0 j& n           (ycor-of turtle h + y ) / G6 D  p& q1 y/ U% G. s( U
                          , B& x/ S5 I& Y8 k
                          9 v7 S4 O+ E# g, A2 i6 C/ T
                          ]
; w- k" {9 P! n6 }end
4 j6 G( L4 v1 J2 R
, M& k: t. M2 x9 ?" w# k  e[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,3 p+ }9 @! J0 f) v* {
应该是! o7 r5 t$ T1 y; K- @5 E6 |0 z
ask turtles [
+ G$ w8 o: a0 n) I$ G2 {if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 0 j2 _: y% e( N/ t% ~0 Y- |6 ~- R3 A
                          set y  Dep / 2 ( R' S$ n* ?  ~& \3 @
           set b  int (who / 5) * 5
4 v" T# W- a& N( D& P    setxy ( xcor-of turtle b + x )) x8 ]& E( V- r) L' {; L
          ( ycor-of turtle b + y )]]* L; Y( {; v* y1 g# Z
end! ~$ {' @9 U/ U* b7 U
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-17 06:10 , Processed in 0.015628 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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