设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5929|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
4 d# K9 n. T" b" b4 I; Y# \1 u% w! [# J3 l. r5 A
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% w3 l% ^  K, G4 s$ u9 F. x# g
' |; {/ J$ D+ z- uturtles-own [a b c d k f g h+ a0 n: B8 g# ]* o* t% s( e/ s, U0 o3 R
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 5 [5 v9 Q( K& d/ t( N/ o
]  C' n2 `! e2 ?! c/ s3 R
to new
' @: ]" f& Y$ E/ B7 C% s  ca
7 w* Z& }9 s8 e9 Z5 ~4 \; [  crt 5 * num_of_building4 Q6 M0 c1 t6 j# C6 z- w
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
0 z( \0 E& F5 e0 T; ?5 z  scatter     ;;keep center-turtle random positions
4 B. I8 m4 }- G) R  unit_plan   ;;make up the building plan
; k; N; t7 ^! iend8 T9 H! N/ |0 W9 w. }9 K
to scatter
+ _, u) l; x! o! i4 J+ F6 wask turtles with [remainder who 5 = 0]
( B" _& Z4 D$ A% `( H[
" _  N! ^3 g3 O. F: b$ |set xcor xcor - 6 + random-float 159 H! b& j; E! P/ @& t  c- O6 G
set ycor ycor - 6 + random-float 153 m- P, E4 H2 k0 ]4 p
]
3 F# P" k( z* L1 Tend5 g& A7 y9 o0 t* Z* M' n
to unit_plan   b/ |6 G5 ?  G' d& @. f
ask turtles [7 S' ]+ J" G- J) I
if (remainder who 5 = 1) [set a who & c- q, f/ q; X  B& o
                          set x ( 0 - Wid / 2 )
$ {. X$ S0 j$ N                          set y  Dep / 2 ]
3 ]  r& Y: l1 s5 P+ U+ b+ W# Y           set b  int (a / 5) * 5
. o  T) T1 d2 x& Y    setxy ( xcor-of turtle b + x )$ V  |7 Y; i0 G
          ( ycor-of turtle b + y )1 l0 E  U: q5 U; K# z
if (remainder who 5 = 2) [set c who) Q6 v8 \' q  K1 [
                          set x ( 0 - Wid / 2 ) 5 @/ f' Z6 q. _8 k7 e1 T* P1 p
                          set y (0 - Dep / 2 )  ]) m+ `( w3 X: L+ r$ z
                          set d int (c / 5) * 5
8 @. P- o/ |$ E5 m   setxy   ( xcor-of turtle d + x )
, H+ _  b; F8 ]( x' j           (ycor-of turtle d + y )
- H* U/ z' s( L, S+ S            b4 f) q5 r, p3 f
            ( ^+ N; [- n6 C% s) {
if (remainder who 5 = 3) [set k who
3 T1 A: f, j2 \$ x                          set x( Wid / 2)  ) [- \, b1 o  N9 s) T8 `1 o; q
                          set y (0 - Dep / 2 ) ]3 k1 n# |& x! y8 j
                          set f int (k / 5) * 5+ c& Z+ T9 t1 L5 I
  setxy   ( xcor-of turtle f + x )- b: Y" V: B$ ]
           (ycor-of turtle f + y ) . T& ~) g( r# j: d! `. L6 ~$ N8 A- y
           
+ k4 ~4 r8 ]: F: x           0 E$ j, Z/ E9 P; y( N; H5 ?" ^- t
if (remainder who 5 = 4) [set g who7 R$ |, Z( y1 [
                          set x Wid / 2 7 N5 B3 C# k! [7 H
                          set y  Dep / 2 ]) a& l6 c& U& |
                          set h  int (g / 5) * 52 e, z4 h3 t6 C" L
  setxy   ( xcor-of turtle h + x )5 k. S  [  v. D6 \" ~- [" w
           (ycor-of turtle h + y ) 7 W3 c; Z, l2 J
                          
+ o- ]5 k' R+ W) I$ ~                          
& v+ h+ l6 g$ q5 E2 ~                          ]+ W$ M8 Z' c6 c0 r# Z% d
end  J# d/ K7 _( H! X8 m
( @6 h/ B5 O8 Q8 ~
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,, [$ C: f/ t( U* i4 z( i
应该是8 S# l- @* Y  n' m& e) k7 Y- m0 C
ask turtles [
6 `5 O) n7 t3 |5 P. [/ Qif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
% n5 g$ e: S4 H# h1 [! V9 |, n                          set y  Dep / 2
" X) z* }6 d4 t. E" |7 D" S4 j2 q           set b  int (who / 5) * 5
3 e/ P& Y/ D1 M% w& Z    setxy ( xcor-of turtle b + x )# [9 R/ P* Y) Z" Q) l% ]" ?& \
          ( ycor-of turtle b + y )]]' ^$ _4 K  s# ?$ N# k
end, c- `3 S: d6 \+ }
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-6 15:05 , Processed in 0.014111 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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