设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8690|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。( {: O4 _7 ^4 L% `6 o5 X' N- ?  {
$ K4 ?% F& w# q9 J8 s
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' k/ W# F, M4 H5 A/ Z, C* ]

! H  L+ |1 i6 t$ ?- Vturtles-own [a b c d k f g h
% `$ Y( N5 f( h  E  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
' H" w, ?2 Q4 y3 C/ I]# q1 Q+ E& f4 S$ f: y' h1 l
to new
- D: u" s# q. ~7 k5 V  ca
5 `2 o+ s# q' }+ b4 y, M2 f- O& m' R7 }  crt 5 * num_of_building7 R/ @) d4 y$ `9 ~6 F
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. r" W( n) f) y1 {7 G: \
  scatter     ;;keep center-turtle random positions ' k* Z9 ]8 f# K6 Q
  unit_plan   ;;make up the building plan
" g1 A* X" P$ N5 i; Pend4 k. R: p5 R: `5 h8 b2 V
to scatter, u/ \) o, m/ h& `
ask turtles with [remainder who 5 = 0]" A5 u$ [/ H; D( T
[; u3 V, S' u4 z6 u8 {
set xcor xcor - 6 + random-float 150 K- k% a2 ]0 k+ V9 U" `  D& F
set ycor ycor - 6 + random-float 15# y' s9 k- P7 f: |4 v$ M
]
: H9 f1 ]$ g0 O; oend
9 |9 H7 c5 N9 a; u3 G$ Y( @to unit_plan
6 v5 p) O$ x$ \, m# ~3 L5 cask turtles [
, p  w) v/ g8 q4 z6 U. E3 _if (remainder who 5 = 1) [set a who
/ S& M/ c- s7 w2 L                          set x ( 0 - Wid / 2 )
! D  ]# T! d" s6 d9 v. e                          set y  Dep / 2 ]" Y. h$ l6 h* l
           set b  int (a / 5) * 5
2 X: h8 U& G' ^; J+ n6 j9 k0 Q/ T% s    setxy ( xcor-of turtle b + x )  i. K4 q- h! v; N' r- k
          ( ycor-of turtle b + y )
/ d) Q  o0 d9 \. {" W9 T! ]( Jif (remainder who 5 = 2) [set c who9 v- l: V1 N* U3 Z0 y" x7 Q* v
                          set x ( 0 - Wid / 2 ) 8 _( @! b3 i' e" Y8 r& w% J
                          set y (0 - Dep / 2 )  ]
9 i  m2 ]: ?+ ?4 I3 l, f$ }                          set d int (c / 5) * 5
/ S* l& ?: H/ I' P   setxy   ( xcor-of turtle d + x )4 _6 M5 N6 u9 k, V/ F& e
           (ycor-of turtle d + y )
3 w( l) ]0 ?; n8 U* e          . l6 C7 U: V' i& c1 }1 f( {" i
            
# O' t% e0 V: H+ X2 _- mif (remainder who 5 = 3) [set k who6 ~& `4 q* b9 c0 \! A
                          set x( Wid / 2)  & z' |. ~2 [+ E' u2 U
                          set y (0 - Dep / 2 ) ]0 g7 u" C2 ^/ S# b, O# Y
                          set f int (k / 5) * 5) N  p- r* d+ c3 L* R8 B
  setxy   ( xcor-of turtle f + x )
. l$ E1 f' M7 [+ w1 O           (ycor-of turtle f + y )
! Y* F. e4 o: l# V           9 Q) W% @: t0 L, L
           
% A4 V3 U& \4 O: E5 _' s6 }" [1 Kif (remainder who 5 = 4) [set g who# B% m. M: ^/ [8 X4 s% j4 K, K
                          set x Wid / 2
7 d* f7 X6 G! H$ P- I% c/ W% J* I                          set y  Dep / 2 ]
0 W9 c& q& a% W9 G( o2 I9 M: a                          set h  int (g / 5) * 5! e8 y) ]8 X, W. b7 d7 w/ \! a
  setxy   ( xcor-of turtle h + x ): d, [" Y4 Z, n3 b
           (ycor-of turtle h + y )
' o! j  O8 X$ Q9 B# ~- E% W" X                          
$ ~6 Z% B4 g; [) b                          
& @' L$ D) V) l! C5 b. l                          ]/ O" z! I/ i  M
end
: v- A* K  c! E; E( x8 r0 v- L, i# T7 T5 M
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,: e- u& I7 p7 I% q* ]
应该是7 [* @* T" [: X3 c  g; O( Z
ask turtles [# v6 p" Z& t* u) ?: U8 e
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
4 x5 n0 k1 ]$ [& k                          set y  Dep / 2 4 v, d, b8 g9 V& k/ r
           set b  int (who / 5) * 5
: |- f/ j. i3 X# ?. A$ V' L! p    setxy ( xcor-of turtle b + x )  E' f" {; J& K% i' B/ C
          ( ycor-of turtle b + y )]]
, _  B# g! H8 L9 f0 U% r7 p9 `end
4 H$ V8 K2 d4 [6 Q' c$ d5 d之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-26 13:08 , Processed in 0.015018 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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