设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7005|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
% ]' F' T9 K) {& U* w% x0 C3 r, B8 O" o4 f+ s
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。( i) M; @6 V7 j% A$ p* J
: y+ v9 y* M8 I9 f$ D
turtles-own [a b c d k f g h
. r( h5 {4 z; E: K  x y     ;; these are the leaf-turtle's offsets relative to center-turtle % {3 @  i4 Z0 n  n4 s4 E
]( X3 s6 Q1 F3 Y! W& l1 Z3 m
to new3 E  H. _& r2 F9 b5 j; y" }
  ca
1 a! W* d. V; ~% R$ ]  crt 5 * num_of_building
' ]: d; O" w$ [% B7 N  M8 ?  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
1 ^( W  f1 z% I2 \  scatter     ;;keep center-turtle random positions
$ S4 p2 m, ]5 e# p9 X% `3 R  unit_plan   ;;make up the building plan
4 F7 L$ G- U# U' _% R" U2 H- @! j& aend
4 {9 K. L. t! w2 Mto scatter
( H" t+ v3 ?9 V0 t9 \" bask turtles with [remainder who 5 = 0]
2 D+ B8 }' ]1 s, t% U/ W3 G[2 V2 z' I/ _9 O1 J' O% f0 f4 X% R
set xcor xcor - 6 + random-float 15  i2 Y  q, Q% {+ {1 E, X9 a
set ycor ycor - 6 + random-float 156 L3 k. n8 r' p4 g* \  Y1 o, F
]
7 s8 |4 @: q- Oend7 s! \1 ~; k) v/ \) k' ^
to unit_plan 0 f8 ?0 M: }- _8 |; r
ask turtles [
& L7 P0 U2 ^5 Y) u2 {if (remainder who 5 = 1) [set a who + C5 L) ]& o( L1 r# W& H
                          set x ( 0 - Wid / 2 ) - Y0 {# N2 F+ j
                          set y  Dep / 2 ]" ~& G& O7 O( F  \* ^2 M
           set b  int (a / 5) * 5
% ^6 k' I/ K+ \) c% n% E: J    setxy ( xcor-of turtle b + x )
3 h" ]3 b, w, }. r2 Q! B9 G) L+ B          ( ycor-of turtle b + y )1 \# X- t9 i0 v) S5 D& H
if (remainder who 5 = 2) [set c who
/ \. q3 g, Y% H- U3 F                          set x ( 0 - Wid / 2 )
/ H$ u' @5 c, J9 O6 t                          set y (0 - Dep / 2 )  ]
" n* B2 y8 Y; S+ f                          set d int (c / 5) * 5; y( L9 [4 L6 S) ?( h8 u# E' [3 z
   setxy   ( xcor-of turtle d + x )1 A7 u# T( B8 o; p+ F
           (ycor-of turtle d + y )
+ e; T" b( v5 e' P          2 T$ y& I2 R3 _# B+ [
            ) N/ v) b, x' [3 @9 P
if (remainder who 5 = 3) [set k who) m, k& u) G) P0 l  a8 ^
                          set x( Wid / 2)  
" C  q, s- K  R$ i                          set y (0 - Dep / 2 ) ]0 L: \* w- r5 k4 J" [' C
                          set f int (k / 5) * 5, u9 U  s% i2 f+ q' U
  setxy   ( xcor-of turtle f + x )
2 U- v+ d7 t6 M) e4 Q           (ycor-of turtle f + y )
- s- y" q( f  @& q( a           4 k& ?! C. m- s4 J
           
. E1 e7 Y' @0 K6 K! J/ iif (remainder who 5 = 4) [set g who
5 Y! ]. S8 G* u4 {( v+ c6 T5 M                          set x Wid / 2 - b% t5 ^; g& _& [, `' `
                          set y  Dep / 2 ]! ]! M$ J5 m- Z( r( c3 B  _
                          set h  int (g / 5) * 55 B: Y6 E  l* P4 u2 _, l
  setxy   ( xcor-of turtle h + x ), I+ n. L2 G+ E# h/ |* d# n/ \
           (ycor-of turtle h + y )
5 ]) [- M2 ^. Z: o* C- @8 r                          ( S% y: k' C1 h) I9 w9 Y
                          : V. c& [( Z7 |+ r6 e) j3 k$ {& s
                          ]
" v9 w, V9 g" |- X$ i9 xend( ]5 ^; U0 H: t# p, l% ^

  o9 @" G" a7 e; P& ][ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
7 U( P$ U. h) {8 q5 e应该是! K# }1 P6 Z6 R# `
ask turtles [
( W; c1 Q' z% \if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 5 ^! a  M% x5 c9 G- e; h3 Z- Z5 @
                          set y  Dep / 2 . }3 Q+ d' R( O3 u2 K
           set b  int (who / 5) * 5
& O5 d! G) z. D# K    setxy ( xcor-of turtle b + x )
1 T5 Z( w# \, p* k          ( ycor-of turtle b + y )]]
4 m3 M$ J8 d' C$ v+ g9 s  Send
0 U, @2 i1 J" k& q) B之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-17 06:40 , Processed in 0.018043 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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