设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8978|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
7 \6 n, n% F' i
' m& X( [' }1 P3 w* x/ L9 v但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
0 q- G1 O0 J/ x% g6 }9 P- N# P* |& U; }/ P9 X: p' C, |' E$ i
turtles-own [a b c d k f g h0 C6 _1 u0 G7 f! Q
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) Y6 q4 `5 B- c% ~5 L6 D]7 q- Y  ]9 g' v6 h9 Q5 I3 M
to new
* e4 o& @- _* e$ u9 }: y" m  ca$ S! ?1 [# l, [1 e4 Z7 D
  crt 5 * num_of_building
. F3 M% D1 i+ a, c* ]' {  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
9 P- }4 t6 N# M  I  E  scatter     ;;keep center-turtle random positions
: R0 w+ n& u# D  unit_plan   ;;make up the building plan! s0 a( _1 b; ?" g. o, j
end' \7 H- ^& G3 _% G8 l! L4 ~& i
to scatter+ g) k8 ~1 L. J( B/ h4 Y
ask turtles with [remainder who 5 = 0]
3 L: {4 y/ W$ {  t6 ?( H  O: |[
! `! X  Z. `6 n) t3 }7 Tset xcor xcor - 6 + random-float 15
/ P2 E. q7 v" D+ jset ycor ycor - 6 + random-float 15$ t' c6 d: \% O4 N+ n
]- q3 F# P9 S7 w! l6 I  S: W$ D
end
. G$ I' k% p; J( a! W% v  yto unit_plan
! ~2 L7 l% D. q' x2 o  y2 Z+ Sask turtles [3 U! {( l8 c6 Z$ {0 X" f
if (remainder who 5 = 1) [set a who $ Y9 v" S  S6 @
                          set x ( 0 - Wid / 2 ) 6 n2 K% p8 j' v& `9 E, q+ z+ _
                          set y  Dep / 2 ]8 e% t- ^, O% y
           set b  int (a / 5) * 5
: C- Y+ E# t" f, z2 e    setxy ( xcor-of turtle b + x )2 @. W: n: _; t
          ( ycor-of turtle b + y )3 J4 N# S. e; W" X+ |6 e
if (remainder who 5 = 2) [set c who, `6 e+ L0 R! W9 R, r3 u4 d- L. @, @
                          set x ( 0 - Wid / 2 )
6 ]7 N+ w  h1 q5 Q- E. s) U                          set y (0 - Dep / 2 )  ]) Z/ ^1 z5 ^3 ^7 X3 ^  ^5 t9 M6 o
                          set d int (c / 5) * 5( k5 ~: Y, @- K  W# R4 Z4 U
   setxy   ( xcor-of turtle d + x )6 x5 A" d4 K6 o! n; y9 J% ?) M* n9 T
           (ycor-of turtle d + y )
, M4 a* A0 g& ~$ @- G" g          9 T9 i& u  p3 S" E
            
) Y5 i4 N, @: C  j8 h) Fif (remainder who 5 = 3) [set k who% `5 t8 q% K7 F& C* M* X- h* i3 k
                          set x( Wid / 2)  ! n. F) c; Z1 R" v, Y6 \
                          set y (0 - Dep / 2 ) ], H- \: `2 j0 M1 \
                          set f int (k / 5) * 5- [! `+ w& X) [3 w
  setxy   ( xcor-of turtle f + x )
; C% C6 z5 }% i+ o           (ycor-of turtle f + y )   H, d( [0 i& I+ U8 _" m
           
# Y% @) }+ h) x3 F) C( J: L1 K8 L           
3 y& J- b% R; @1 uif (remainder who 5 = 4) [set g who
' v# R8 I5 J$ X' i* t- X( R, k                          set x Wid / 2 * q8 {# }+ q* b1 E( c
                          set y  Dep / 2 ]
; X* M* Z+ r7 j6 A: D# Q                          set h  int (g / 5) * 5
" B* a+ l, D  d3 L, e& a  setxy   ( xcor-of turtle h + x )
1 f) A8 Z% u$ Q           (ycor-of turtle h + y ) $ ?2 r! o' p4 K5 X" W
                          
  q0 f4 m0 n) i# C5 z0 F                          
" U0 C5 E( e7 m( G                          ]; U0 {7 p$ c7 }8 A
end" _9 O: ~6 j& x7 F& f6 S
4 n$ k- M7 e8 v) a; c/ {# S4 ?
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
8 M# }/ d  t3 c- ^应该是$ j3 U5 P) f5 Y; ]
ask turtles [4 l+ v7 S; x: L/ ?: a3 q
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # j+ X9 r" `7 n5 j* X& V
                          set y  Dep / 2
% Q; d% v3 m4 ?; V: [2 ~6 K: x1 U           set b  int (who / 5) * 5& }/ ^* C" N$ _4 |) r/ M1 J
    setxy ( xcor-of turtle b + x )
. s1 `# I$ }3 i2 E+ `          ( ycor-of turtle b + y )]]% }7 y& L; M' B+ W
end' U+ ?, F! V  k" L' W
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-2 06:42 , Processed in 0.014662 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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