设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8049|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。+ [- n$ C  T" h* k3 `- `9 U8 J
' ~! G. E$ ]" |
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
1 c1 V* {5 }6 p9 c, E) C! d7 ~+ P- M. J4 D3 f  `# h6 f
turtles-own [a b c d k f g h
% o' F% O0 @. |& G# l( s: J; O/ ?  x y     ;; these are the leaf-turtle's offsets relative to center-turtle : @, a4 w" _1 C
]& Q& h6 ~: p4 j' K, {
to new
4 p& f. g, j/ B: |: i* h( Q3 m7 t  ca6 T4 E9 [( |8 ?+ A$ h' e
  crt 5 * num_of_building% [# z5 ^( V. A4 t; v! l
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
! F0 P- y3 r/ b1 L' r4 X* P# I9 k  scatter     ;;keep center-turtle random positions
, J& ], V( O+ @# j) {. L  unit_plan   ;;make up the building plan. p0 o  d( q! u( T* ]: w
end3 n+ Q" Y) s1 R% s3 O3 C
to scatter$ W  O& ]5 q9 [; o! S! J( c
ask turtles with [remainder who 5 = 0]* W/ P; ~/ @1 K+ n% c  `: s
[. H/ C1 y" n0 R
set xcor xcor - 6 + random-float 15
6 B. B- C7 n+ E! O7 F* w$ S0 Aset ycor ycor - 6 + random-float 15
( V6 E, C" _  k) y$ l) c2 h]( L% M2 n1 ~/ r2 _- P% l$ |- D' n
end& V$ `. ^; c4 X) Y
to unit_plan ( t: k1 M: {7 o
ask turtles [
/ }/ C, U2 U' c- u- `) dif (remainder who 5 = 1) [set a who
. z5 I2 B) N- H! \" y5 s                          set x ( 0 - Wid / 2 ) 0 m* c! G; F0 z& @
                          set y  Dep / 2 ]
- S" M& y, R7 o) r5 n4 h           set b  int (a / 5) * 5
3 d) A6 x+ c3 N& T: w    setxy ( xcor-of turtle b + x )
4 j; e8 l5 x7 W& {2 m0 V          ( ycor-of turtle b + y )3 C" l8 u- G, I1 N! A
if (remainder who 5 = 2) [set c who$ U# r5 v, v) j
                          set x ( 0 - Wid / 2 ) ; X, R% H, v0 U5 C
                          set y (0 - Dep / 2 )  ]
- V. A1 K8 V+ T% C4 L- V. V                          set d int (c / 5) * 52 o" B" R2 Y5 {. S9 p4 ?9 X
   setxy   ( xcor-of turtle d + x )7 o( `/ P+ w8 V+ {3 e7 }
           (ycor-of turtle d + y )
; G! t2 h. y1 y( C          8 s, D7 ]2 C7 `3 ^& k
            
/ i3 z2 v7 a& F  kif (remainder who 5 = 3) [set k who9 x* {. ^  }! x
                          set x( Wid / 2)  8 f& n3 M' j9 b, d3 O+ p5 H+ w: z
                          set y (0 - Dep / 2 ) ]
$ k% q; i; `. t( h2 _3 r2 F4 |                          set f int (k / 5) * 55 U6 u: d1 ^# j
  setxy   ( xcor-of turtle f + x )
( e  [2 |- Z7 ]% A7 z; I$ z' Q4 a           (ycor-of turtle f + y ) / A4 G' @: R* j
           
/ T1 o+ l1 y% c- M6 v6 q* P* V           & ^) s! {3 P; `5 n! q+ d, S
if (remainder who 5 = 4) [set g who* H" p+ I! ?! [, {: {) ~8 C0 Y
                          set x Wid / 2 0 y" K" \6 {- K) H8 G$ ]& M
                          set y  Dep / 2 ]9 R3 A3 o( g* \6 g/ ]- H
                          set h  int (g / 5) * 50 ^; [& S" m# @/ \5 N- F: U" M1 D" w
  setxy   ( xcor-of turtle h + x )
4 E  O4 J+ C. f+ g0 O: T+ I           (ycor-of turtle h + y )
! g/ b# `1 b& h7 u$ T/ O                          ) r1 h5 Z* c+ K5 M
                          
8 Y4 @0 u# G- B  P& ]                          ]
  `. G! x3 t$ c' ~. I$ kend
4 q* }1 w, v+ g; }! r% Q) L7 v: m; g0 r: x# A
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
( S# ?1 F; I: {  j/ T) i3 |; C应该是
! p1 u* F& g7 l3 E2 Y" Task turtles [- h0 v/ ^) v( w+ ]* T0 k! f
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) * W) ?4 B0 i) S; y
                          set y  Dep / 2 1 u+ o: c9 H9 H% d4 Q- f
           set b  int (who / 5) * 5
1 c& B5 N4 _  p3 d5 ]    setxy ( xcor-of turtle b + x )$ s  D: }9 a0 l  ?5 y3 f0 s
          ( ycor-of turtle b + y )]]
' S+ c" g3 L; @" Aend
" R4 w2 R" j- @' d4 r& a$ h: R+ r之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-1 20:47 , Processed in 0.019442 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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