设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6765|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。" o. `: B4 i& o1 L

" [+ ^7 _5 ^/ r8 f但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。, b* p- _+ C# Q; a, r
/ g, ^5 [9 S& w5 Y2 P, W# {" J  h
turtles-own [a b c d k f g h
. A1 W) R/ c9 F0 o$ g  f8 v  x y     ;; these are the leaf-turtle's offsets relative to center-turtle + C) U& x$ s* t
]
& @2 i! e* p& y9 ?to new# o4 B7 F8 T% _' {
  ca5 ^4 L/ l$ X1 ^% E! W  y' T8 ~
  crt 5 * num_of_building9 y% n8 N. s4 U& @
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 @3 c& y8 D. _' @% v3 G  scatter     ;;keep center-turtle random positions . d% c; ]( h# y+ s8 a( B6 z
  unit_plan   ;;make up the building plan% d- j* K8 P. K* s; W* U
end
! H: D1 U! Z8 F; ]% \. u* W! q/ z: `to scatter7 I" g) b! T8 t& z2 A
ask turtles with [remainder who 5 = 0]& a# L8 I7 N% Z/ x( `0 ?
[
$ \" C% o0 h# _% v) r' r4 Lset xcor xcor - 6 + random-float 15
/ t% k/ Z8 o. P5 w+ t( }set ycor ycor - 6 + random-float 158 S7 C5 e5 O6 Q
]
* ]% Y, a9 K3 D$ P. |, D  X3 S9 Jend: ]! \$ }0 v' i) t( I
to unit_plan
) G. P& e4 O, N* n7 _ask turtles [
7 v0 ^: i4 j5 d: y0 k( d7 Uif (remainder who 5 = 1) [set a who
1 y" _" N0 i" j+ t                          set x ( 0 - Wid / 2 )
+ X  r3 @# l/ p) s7 e1 E% Y                          set y  Dep / 2 ]. f6 Q, u" ^: J9 f: \. \- O6 E
           set b  int (a / 5) * 5
. f8 r7 N) w5 K1 [- C( ^; A    setxy ( xcor-of turtle b + x )
6 F, b' I7 V3 d2 t$ \          ( ycor-of turtle b + y )) n4 n/ q# \" L* Q# t2 g1 Z
if (remainder who 5 = 2) [set c who9 j& S" y6 `$ Y. h& {
                          set x ( 0 - Wid / 2 ) % i, v# x* N2 D" O5 y1 _
                          set y (0 - Dep / 2 )  ]- J4 X* i! R4 R: j: S8 X
                          set d int (c / 5) * 5. J  r4 M/ l, Z% b0 I: A2 Q
   setxy   ( xcor-of turtle d + x )2 m  \8 y, f0 X* W
           (ycor-of turtle d + y )
; @4 E# e7 o2 ]5 z) ?; G. m0 U' e          9 s2 U% t7 ]+ C7 ?) a, v( \
            - G8 L2 U& {# K" {0 L; G
if (remainder who 5 = 3) [set k who" U2 R' @, j% |0 f
                          set x( Wid / 2)  
" L! N* D$ z" e. ?: ]                          set y (0 - Dep / 2 ) ]
" ~  o% m0 u. W4 X' M, Y5 x                          set f int (k / 5) * 5
7 w8 @0 }# U8 R8 n) {  setxy   ( xcor-of turtle f + x )
# N* R! W0 k# `0 r) j% y" j           (ycor-of turtle f + y )
' }) S1 K$ r0 f8 S3 Q3 z& ?+ [           
! i+ ?4 v2 l9 w- z8 e% U6 U           9 @% W! z; U+ T3 [  c
if (remainder who 5 = 4) [set g who; w# Y  X% e8 y8 N
                          set x Wid / 2
( }. r  E4 N( N2 h4 F                          set y  Dep / 2 ]2 p5 C7 |5 W' `" [7 C& c, D
                          set h  int (g / 5) * 5
& \; d: N( e- ?1 u! O' i2 l1 G# ]! Y  setxy   ( xcor-of turtle h + x )
, ]7 k; C+ E- d. I2 a           (ycor-of turtle h + y )
# R+ x: e6 k1 f9 t/ Q  k$ h: s  _                          
- k/ W9 v! I4 S6 F5 s& J+ O                          $ u/ Y6 }) P: q( M4 [1 W2 |
                          ]$ S" V% e  n' ?2 n. _
end
% C0 ?% k6 r7 e! Q) d# I4 c
) k  W  U6 I$ e; k( D9 T  d- Z1 q0 e. I[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," `, T6 p7 @' E) |, H3 ^1 J4 J
应该是
0 Q" M! C% r6 I, ^9 ]; jask turtles [' u9 F( H! ?7 t' M5 S% d" u2 `2 C4 m
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
6 J2 t: X' Z6 v2 A6 Q/ i% j2 c  p* {                          set y  Dep / 2 ' l3 U% C6 o- x& M
           set b  int (who / 5) * 52 D" Y( e! o, o4 U: ~* ]) D* z
    setxy ( xcor-of turtle b + x )/ k) {. }$ v  ?3 Y
          ( ycor-of turtle b + y )]]9 ?; n# p  ?; x
end1 M0 q; T3 P! |3 H6 _3 F& h5 B
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-21 17:37 , Processed in 0.030389 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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