设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9016|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
3 x7 Q- a  J( o- _8 L5 [: [
5 r2 _1 `4 ^# @0 `8 h) v& d但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
8 s" C1 ^0 A7 d% F: p% Z
- C/ _7 [* ]% q# c+ R: ^turtles-own [a b c d k f g h
. S/ A5 n' h- N5 ]' Y: N  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
' k5 z$ u% s. {) {; \* j/ v], N5 ?' `- E. k) m- @6 t) R
to new
* D8 `: }. l, u+ g+ b' m  ca. }8 X& s& x. P0 Z, ]/ K
  crt 5 * num_of_building. R- H$ x0 A4 P" x9 o! f
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
& q! x1 R0 ?8 y+ U* U3 ]  scatter     ;;keep center-turtle random positions 5 T1 ?; Z: q; }
  unit_plan   ;;make up the building plan
1 Q( B* V  Y' w8 i, U. m% @  N6 xend7 c5 ]3 F" g4 i  f* U- W/ R
to scatter
* c$ Z/ W/ b0 Jask turtles with [remainder who 5 = 0]" }+ C  k2 K4 p7 x; a0 a  ^( X
[
7 N5 T7 P) K: d  S* Bset xcor xcor - 6 + random-float 15) X, K' Y; J, V9 \/ J& X
set ycor ycor - 6 + random-float 150 G6 Y! h( i; X$ S
]
9 G- _3 q% l' M+ ?end! n4 _' Y7 U5 ]
to unit_plan * R% ^* Q) g; l" [
ask turtles [  E: q/ \9 I9 @- G9 t: A5 v9 Z& ]
if (remainder who 5 = 1) [set a who
3 I( K9 ~$ A; ]2 p* H                          set x ( 0 - Wid / 2 ) " o4 G! q& P8 q9 p* ~2 L  e
                          set y  Dep / 2 ]9 R; f+ S  V# Z( G# J
           set b  int (a / 5) * 5
' z4 T& T& M  |# K- J% S    setxy ( xcor-of turtle b + x )
) I0 q: ?6 s) f  s8 B* x          ( ycor-of turtle b + y )
2 E( |' @' H( k' n; C4 A$ I4 q  `7 ?- Jif (remainder who 5 = 2) [set c who
* H: g5 S8 R* v# @2 W0 Q/ M                          set x ( 0 - Wid / 2 ) ; d& K5 M3 C& G
                          set y (0 - Dep / 2 )  ]) s* x& B2 Y5 Z+ k$ K
                          set d int (c / 5) * 5
: d' k: P0 g& Z, E   setxy   ( xcor-of turtle d + x )
9 P6 B" e' S2 P0 X. X/ ?           (ycor-of turtle d + y )
6 [8 E+ H" f  E9 X8 |5 h2 f1 U         
) H' Q% Z, D6 ]            
* }) S. y  U5 O; H% Aif (remainder who 5 = 3) [set k who6 C& G( z9 m. W" v0 A7 a, j
                          set x( Wid / 2)  
! X+ o6 b/ ~; }( V2 S5 E                          set y (0 - Dep / 2 ) ]
8 P# r4 v5 w" |5 _" v6 W, l                          set f int (k / 5) * 5+ I/ I. E) }1 o) R
  setxy   ( xcor-of turtle f + x )2 s6 |! I" L) B; f5 s0 p
           (ycor-of turtle f + y )
1 P; Y% {7 @8 Z9 C: Z3 Q           1 v0 c/ i' x6 [! {# K
           ! g' L$ y7 X: N
if (remainder who 5 = 4) [set g who" W  u0 A# s3 _8 A) R( [" y
                          set x Wid / 2 ) K: K( ]% [; B# m8 l2 W. m
                          set y  Dep / 2 ]
6 U* R1 s, i, A% s$ J  W9 H                          set h  int (g / 5) * 5
' b7 @* G8 q) \0 B  setxy   ( xcor-of turtle h + x )" ~4 l6 i9 {. t) X3 P
           (ycor-of turtle h + y )
- z# E' j0 o4 J( ?& s% |: w                          
) a2 _) g" F* i; C9 s( B% o# V& L9 `                          
0 s3 }2 G4 o5 B7 A1 D                          ]4 p8 K  z3 ^+ x4 S/ o$ s
end8 ]* x! D- V9 h" u1 m
# u- A+ M2 e. y. T, w
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,0 f- a4 ]3 F5 Q6 b4 x5 \  r
应该是2 ]2 d5 \& A7 b6 p  s0 L
ask turtles [
2 ?- I) q) v+ p; F( y2 H/ sif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
+ @& X( T2 o2 }2 D1 @+ L                          set y  Dep / 2
* C" M  ?  e+ ?' [  y: w0 e7 t' K           set b  int (who / 5) * 5" h) O4 C7 g3 e8 ?9 L" E9 c5 F
    setxy ( xcor-of turtle b + x )( S, l8 J" p/ _8 G( v/ T2 t
          ( ycor-of turtle b + y )]]# e+ V& T* J+ x. b  A( g
end/ ]0 j, S3 A( }4 _+ x3 C
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-7 05:32 , Processed in 0.018973 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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