设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6940|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。6 H& d4 O' O9 {5 o& U

% P. @6 c. J* i0 U1 ^6 l. j但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。6 S  Q$ I1 I+ \

1 G! g& B# ^. i. \! m$ {turtles-own [a b c d k f g h
7 ~% I, |6 D& Y% Q" v6 c  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
- ~  q) m: Z4 W- ]4 U6 b]" `/ d9 s) b- O4 k
to new: p6 K. w* q" H2 }. I
  ca* V* L' A7 h& M$ @% N, ^
  crt 5 * num_of_building
+ {+ l8 H* S7 ^, V4 C. l# ?  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
, n! P; V' }# O% l! \; ?2 p) W( [  scatter     ;;keep center-turtle random positions
$ `  A+ I0 ^& B& d: h0 e$ ~  unit_plan   ;;make up the building plan2 B$ I& f0 Y  o2 K5 i
end+ c1 l# E: S- k' J! \( u
to scatter. h6 f7 C, W% \2 \  y! a2 d8 O
ask turtles with [remainder who 5 = 0]
3 {. n4 N& ~& Y[5 d/ }" D0 {  E9 I* ]$ h( t$ Y
set xcor xcor - 6 + random-float 15
" D7 C2 e% [+ F1 f( i/ Q  Hset ycor ycor - 6 + random-float 15; D. V3 X7 M4 ~7 I" t
]/ c4 l& S$ m% ^6 B: T% H( w3 \
end
* Y9 I0 C5 Y& c) C7 eto unit_plan * u; r& J# C- y4 G& u9 i( l1 x
ask turtles [
5 N; q$ Q% I, ]+ i- Yif (remainder who 5 = 1) [set a who
- K7 g8 N4 Y2 [) g$ y! {4 t                          set x ( 0 - Wid / 2 ) & F% R6 Q4 j4 H. N' [5 U* W
                          set y  Dep / 2 ]1 V9 X: d" d9 e$ n* O1 X
           set b  int (a / 5) * 5
( R. R' X: _2 r% ]3 U$ v! v    setxy ( xcor-of turtle b + x ), Q: E9 C  p6 C! V$ K
          ( ycor-of turtle b + y )) s9 @: E( J1 i: x
if (remainder who 5 = 2) [set c who
, [$ h7 P( @; K1 W0 O* |1 p  T                          set x ( 0 - Wid / 2 ) ( E! L7 L3 W; X) W
                          set y (0 - Dep / 2 )  ]
6 z! z( W5 n# c  f; ^8 s( O! A- f                          set d int (c / 5) * 5
4 u0 o9 p( Z; {8 U$ z   setxy   ( xcor-of turtle d + x )7 V, r) O9 D# y4 i4 V9 t) g
           (ycor-of turtle d + y )
* g6 V1 b2 q/ P. J; q         
" g# o6 L4 S% d, d& b# c; C6 b% U9 t            " a, q6 @+ C# \' V2 y4 z. k
if (remainder who 5 = 3) [set k who$ o" H3 }) U7 ?) Q( x4 `" o
                          set x( Wid / 2)  
+ \- V, H9 X" r( V0 M# G* O# t: k! D) b                          set y (0 - Dep / 2 ) ]' @+ |+ [6 s# A4 M9 R! `' ~" P
                          set f int (k / 5) * 5. E# [* a# M7 P3 Y3 h
  setxy   ( xcor-of turtle f + x )
; }# |  s8 n: z6 Y. H/ H           (ycor-of turtle f + y )
6 {8 c$ G% P8 J3 P5 u" r4 b0 s           9 c9 m8 N. L3 y7 F* z  e; e! A# L4 L# P
           
3 t4 E0 Y  _! Z4 W# {2 x5 fif (remainder who 5 = 4) [set g who1 B! u' o0 Y6 D: Q% g
                          set x Wid / 2
$ L# f& ^, }" J3 I# A. q4 P                          set y  Dep / 2 ]& G- ?8 w# ^# A* H* J
                          set h  int (g / 5) * 5: v7 y- N- H, ~2 f, [
  setxy   ( xcor-of turtle h + x )
9 ~0 O1 b$ A9 `. M           (ycor-of turtle h + y ) 7 j( S- P& j3 P1 Z# s
                          
7 t1 ]. R; {0 h& w! ^                          
9 w6 P1 s, Q0 a- h                          ]
1 j% n8 m# O! N" m6 Q7 |$ G) Dend9 z/ O6 `" U$ k: P5 Z2 \( S
. q! I1 {) H' W. L
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
3 S  _: U% n- M0 F+ a应该是
3 L$ r6 B$ F7 S. i- qask turtles [
2 `4 u% N; ^2 [4 g. ?  kif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
2 J/ _: f: n" D# I9 q- O! b                          set y  Dep / 2 4 s5 @8 w! u' W, C) S) z1 d1 f
           set b  int (who / 5) * 5
( ~# c+ v( R8 k& ^    setxy ( xcor-of turtle b + x ). w6 Z& P1 V, n5 ?7 o  M0 U- z9 J
          ( ycor-of turtle b + y )]]3 y) ~* x. `5 S9 {/ @( }' }! d6 ~
end
4 c7 w+ F/ n/ T之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-12 04:56 , Processed in 0.015887 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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