设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9171|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
9 \9 A  f* y( D" ^" K8 f- y5 I+ _0 I
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。  Z3 E9 T. s" ~" B, i" Y! Q, f

& v5 U/ m$ q. L& H; W8 Mturtles-own [a b c d k f g h
; @5 R# X' s7 q5 o. Z5 I/ x+ R( `  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
4 O+ y/ g1 v5 o& \8 n$ Y]2 s1 b9 R( D' b! ^7 Q
to new, H/ P6 A; ~" C! }
  ca1 C/ }8 Q' P) I. v" H
  crt 5 * num_of_building, L7 }6 S  o1 {) i0 L8 E* b3 Q
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
( i% X) Q3 p3 r7 |8 @. R- Y  scatter     ;;keep center-turtle random positions - r! Z' @7 [$ [, o0 Y  |
  unit_plan   ;;make up the building plan* A9 z* Y5 J5 p3 m
end
$ A% Y/ x! y( V7 wto scatter! d+ ~: m7 G1 t4 x
ask turtles with [remainder who 5 = 0]8 t$ D) e9 ~* f8 S! T& C% N# [$ [, p
[9 }$ j1 F3 d. ^% W, n
set xcor xcor - 6 + random-float 15
/ L2 Z- r# M3 ]4 d  ]set ycor ycor - 6 + random-float 15
6 B: [* _! m: }/ Q* []
. u. ?: u$ U( i9 ^5 Jend
2 X. k& T: I( s. k( w/ d7 eto unit_plan
! h( }$ z( s4 i2 W6 Qask turtles [
/ K; Z! v/ J% {+ S1 dif (remainder who 5 = 1) [set a who
8 l# |; x7 K8 P& ~& d9 W& B8 w                          set x ( 0 - Wid / 2 )
" P- {' c3 ~3 P" K2 N                          set y  Dep / 2 ]3 g7 G, x5 T" Z
           set b  int (a / 5) * 5
; h& b8 Z! y* w$ L- t4 b; q# E- K    setxy ( xcor-of turtle b + x )  g& F) m" N1 j" d" K
          ( ycor-of turtle b + y )( n6 I2 |+ k9 N: r2 g, f, w
if (remainder who 5 = 2) [set c who  `4 {  f6 K3 D5 G6 }* j
                          set x ( 0 - Wid / 2 ) $ d6 h  A9 O8 U8 }& U/ U0 o: u
                          set y (0 - Dep / 2 )  ]
8 U6 \8 O2 B. z5 w                          set d int (c / 5) * 5
" u6 Z: y, O9 N# Q4 i/ t' R* ~* Y   setxy   ( xcor-of turtle d + x )
+ K* H$ _& f& ~  m           (ycor-of turtle d + y )
! g( o  r# Z1 t, N) Z3 l          ( ~1 M: @6 l9 k. `
            
) z4 f* z4 O8 y# xif (remainder who 5 = 3) [set k who
" J, d5 @2 |' M: ^; w9 }* \                          set x( Wid / 2)  
+ w4 Z, _! a( B/ C) A) @5 C                          set y (0 - Dep / 2 ) ]9 C) x! J* p. S* s* v! q9 c; a$ Q4 Q
                          set f int (k / 5) * 5, Q0 ^/ l8 ^$ W
  setxy   ( xcor-of turtle f + x )+ `* q: d* W' j  s
           (ycor-of turtle f + y ) 0 ?0 G, F, ~5 l' l- j+ u4 G5 O
           & x  c- l) p+ L( r$ }
           
+ Z+ m6 g$ n/ z7 I0 u" K2 Iif (remainder who 5 = 4) [set g who5 H3 x: V# S" ~8 j
                          set x Wid / 2
* @2 n0 e! b0 @& v) ~2 g$ {4 e' I# Z" T                          set y  Dep / 2 ]+ o7 Z; Q( ^! N) a; E
                          set h  int (g / 5) * 5
& f  A. e  M) w" s  setxy   ( xcor-of turtle h + x )
* x2 \. o+ h- N8 W; ~' z           (ycor-of turtle h + y )
5 B0 t% N1 ]. P# j                          
) l9 [3 h$ q! e( \* Z                          ! V; ^9 {2 d/ F8 C7 h) F, U
                          ]2 j5 I8 f7 @! q* V5 q, w
end
1 o; L1 d  ]2 g- r& l( E* i/ D/ C* m: x1 n' r: R4 j
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 m9 Y3 z  x/ }! D
应该是
8 V# d- h& D5 Q2 q  O  S' mask turtles [: A9 K0 D% }+ z6 e& i: h
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) F( s- R$ M, m5 R8 l1 O" d
                          set y  Dep / 2 + _% ~( Q) W; t% b- F! R
           set b  int (who / 5) * 5
/ v( x" [+ ]6 G4 R; y) O    setxy ( xcor-of turtle b + x )
; n) y# X5 j* r5 c" e- Z& w          ( ycor-of turtle b + y )]]3 q8 f* b7 v0 M% }
end
5 r6 j2 \, F2 R( C之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-25 17:49 , Processed in 0.017602 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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