设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8142|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。1 j& P. z. U* y9 h$ ^
- s+ \; c2 c# N" q; [
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。1 p9 y9 u5 f. `) |7 @

0 t3 o( ^, u" m: y5 G6 B3 o+ ^turtles-own [a b c d k f g h
0 e- j% t+ y+ w4 |8 s% s) o8 b  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 Q6 G: b% E# u* ^  f1 @0 D
]) E% z& N! D: j; x% c
to new/ f8 n# ^1 |. X1 }! f
  ca2 g  V' ^9 i) {6 q' e7 }
  crt 5 * num_of_building/ b! C4 p# H9 G# s, }
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]' q0 M0 o! b6 _! f% n# ^+ ~! S
  scatter     ;;keep center-turtle random positions
. ~. H. ]: Z4 q# L  ?  unit_plan   ;;make up the building plan5 E' H" A( @/ f  j( q) [# I
end% p) W1 \8 e5 P& j. D* T
to scatter% i6 Y# P7 L( h* Q& A9 j- f
ask turtles with [remainder who 5 = 0]# t, ^% q- G: Y5 j' W! f" M
[
$ n. T( }$ e( T& Aset xcor xcor - 6 + random-float 15
9 k* T- u5 f/ v, Xset ycor ycor - 6 + random-float 15
- L8 I# g% |9 _" l9 L- x]$ u* K. J$ H: u% ]
end" }  H2 V  k; O
to unit_plan 0 ^. K* C8 u  J( ]6 j+ q3 k8 G
ask turtles [
. F1 @/ A% n1 d( J: V+ u! G. d5 `if (remainder who 5 = 1) [set a who
, G' |/ d1 E/ L" N                          set x ( 0 - Wid / 2 )
8 d5 P5 r( a% `- [$ a( b( l$ W                          set y  Dep / 2 ]
! K9 Z* h. Z) I8 `           set b  int (a / 5) * 54 \2 u, z4 U- {3 `  Y7 q
    setxy ( xcor-of turtle b + x )
- i+ N* J1 k" Z7 v% ?0 H4 Q; W          ( ycor-of turtle b + y )8 z& v+ S" d( _1 x, j, C0 O, t3 e6 g
if (remainder who 5 = 2) [set c who
1 U/ I. J% c9 L/ `9 m2 [                          set x ( 0 - Wid / 2 ) # j9 `* r: B& p  L6 C9 X+ K8 a( }
                          set y (0 - Dep / 2 )  ]4 F, I& ^6 o& K4 S2 S) ~) ]
                          set d int (c / 5) * 5
* F7 z6 i) G1 W0 c   setxy   ( xcor-of turtle d + x )
$ N' s. I) f' G2 N9 l           (ycor-of turtle d + y ) # G" k  A1 B2 K# W3 `$ G
         
1 o) ?+ \4 o* @$ x+ v: B, D            
4 N1 \* X* Z" \- @5 B. j. Tif (remainder who 5 = 3) [set k who
' F. e" H- u* Z, _9 F. U                          set x( Wid / 2)  
6 ~$ u4 k$ t$ w- y                          set y (0 - Dep / 2 ) ]6 [, Q# Q3 {5 j& `; m% O2 [! o
                          set f int (k / 5) * 5
7 T: P2 u1 t# h  setxy   ( xcor-of turtle f + x )( M& m  |2 C/ \2 L- g1 X
           (ycor-of turtle f + y )
# j6 A3 L' Z( j: e           2 y3 H& F% }' j1 c
           5 a! o  o8 D/ i5 I6 w" W. g; G
if (remainder who 5 = 4) [set g who! s8 O) Q" }0 y0 O2 ^! x- p0 l
                          set x Wid / 2 6 L8 I4 l) k: I' y
                          set y  Dep / 2 ]) S: W- @% s  D7 m2 }1 t* U8 w
                          set h  int (g / 5) * 5
& Q' r2 Z6 J- s  L/ z; m$ J- d9 ?  setxy   ( xcor-of turtle h + x )
9 R3 b+ N4 ]) }% C: b           (ycor-of turtle h + y )
- c, w( n0 P( Q  e; Z                          ( J( u6 D+ D9 k- O" P' }
                            X4 s( k' n+ `0 J, a8 u- H
                          ]
. \4 L  {4 H( ^% n7 T- k9 iend% C$ g8 L! t8 g! j2 [) ~/ v4 |: |: [# {
1 Q( G1 q- e7 x
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
% T# w# H3 F0 m! g应该是0 [/ P1 J- e/ G& e5 |. [' z. j( k
ask turtles [
& F7 [, ?" y( R% gif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 5 B& ^2 F' d, d, D1 D2 p% k
                          set y  Dep / 2
+ [/ U, m9 {/ n1 u! n           set b  int (who / 5) * 5- H: N, |2 c7 K
    setxy ( xcor-of turtle b + x )
+ |- l" e+ {& s- @: X          ( ycor-of turtle b + y )]]
, ~9 \$ y/ N% v8 u8 y# pend$ a$ W3 E+ C0 r/ B7 C
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-11 01:58 , Processed in 0.025092 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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