设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9108|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。, ^! Q/ E4 Y6 v' R& d
/ }( ?+ }+ }4 F; N9 K) l
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% W; }) ~( v* ~% Z7 A2 X* i0 a5 }- O  T, F/ \
turtles-own [a b c d k f g h
, Z; O' s( f" I. n  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ! m; _* V  }* _6 A+ X
]. @& ^. R+ F" @( v  b
to new+ _1 m. i% L# g! J8 F
  ca0 t  s" }# x1 L8 d
  crt 5 * num_of_building
5 q8 t9 |( l5 N  f* i4 X# V$ ~  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
" \+ i% h7 x7 Q9 q/ i9 {, Y2 W  scatter     ;;keep center-turtle random positions ! w: D! X& \2 s' [) p
  unit_plan   ;;make up the building plan
) a9 L% g2 l6 v4 S9 H5 hend
: N3 }; e& d0 g4 h9 V, i0 cto scatter9 q; j& s0 L, i  O. `5 v
ask turtles with [remainder who 5 = 0]
+ U$ T* j8 u# f3 p; o& {[
; p) F' ~: W5 I/ t! ~set xcor xcor - 6 + random-float 154 @3 D6 P( i( g
set ycor ycor - 6 + random-float 15; p9 n4 W# H/ {+ Z: N1 o5 A
]
, {5 l% U( c4 I4 n2 x0 q2 q! m0 Pend5 V" w$ ?) Y) U$ b" v; O3 `
to unit_plan $ g: L) W2 V6 I% t7 D' k: i& z
ask turtles [  s4 C5 y! S0 _& q1 H% E
if (remainder who 5 = 1) [set a who ! A+ j8 X3 f) Y$ t6 C- a' v
                          set x ( 0 - Wid / 2 ) * M4 z3 E& }" a0 F9 U4 Q- \6 L
                          set y  Dep / 2 ]
- D! S  I$ \! c6 \& U$ x           set b  int (a / 5) * 5+ `. w: p8 v( ]0 v
    setxy ( xcor-of turtle b + x )
/ `. e" U  Z+ I  a          ( ycor-of turtle b + y )  l( Y/ I7 m- Y5 g( i- d1 Z0 C
if (remainder who 5 = 2) [set c who
  K4 G4 x' e( X* b  L& j! E                          set x ( 0 - Wid / 2 ) " K( a/ ^# @8 V
                          set y (0 - Dep / 2 )  ]
' Q, R' P0 ?: a1 a                          set d int (c / 5) * 5
( E1 B8 x* s& O6 G* e4 [; W8 b8 O   setxy   ( xcor-of turtle d + x )
4 M  ~  d0 |& x           (ycor-of turtle d + y ) 4 X  b& a: G' q% r2 @
         
4 K' p" R: q: S% b            ' k5 J2 C; F4 X* q! [
if (remainder who 5 = 3) [set k who
, k$ K  }1 s8 D) c                          set x( Wid / 2)  & i! C/ a* y# ?8 L. u8 ]% D
                          set y (0 - Dep / 2 ) ]
5 P' j$ r# }0 X" ]/ o9 E                          set f int (k / 5) * 5! d" K8 T* Q% @' I8 x
  setxy   ( xcor-of turtle f + x )
, ]. D, a7 e$ E' C: B4 J           (ycor-of turtle f + y )
6 `; B/ Q' h' }# ^" X" a/ U           - P* @3 }4 ^+ D2 Q, U
           
% d6 W" |1 _% e  R# ~1 yif (remainder who 5 = 4) [set g who
$ k" n% ~7 \% j* o                          set x Wid / 2 9 [4 v; j- S. |8 t: d9 w
                          set y  Dep / 2 ]& e/ D3 o' `' J' n" }) c$ }
                          set h  int (g / 5) * 56 Q" i. ~3 U* X+ }' D8 U7 I
  setxy   ( xcor-of turtle h + x )
5 O( H2 ~" K9 Y% F# Q           (ycor-of turtle h + y ) , Q" \( t% \/ G& r8 t# g. r
                          9 S, R3 s1 G4 J* [2 V7 D0 E
                          
1 x: @6 O5 P1 H! q1 j' i) Z0 G* |                          ]
% Y! @+ K3 l' y3 Y2 {) C) xend# _6 y7 z& z9 o9 I
* ^8 ^6 ~2 s- \* v
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,1 R9 s) K' N, s$ ?( z
应该是
: L, m2 q& y  }' [# \0 c/ {ask turtles [+ o7 {! E; H) N1 P' [
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
1 C+ b" ^0 h9 T( p+ v                          set y  Dep / 2 7 K0 v6 }' x1 |8 j  N
           set b  int (who / 5) * 5! X5 v0 \( Z- A/ [7 q
    setxy ( xcor-of turtle b + x )* X$ x  o* x. n+ o6 F
          ( ycor-of turtle b + y )]]
/ R! @% _! i9 R9 Z$ qend4 }) o+ Z9 B/ [2 J  V- N
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-18 19:43 , Processed in 0.016437 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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