设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7062|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。9 Y6 S# A2 @* T& ?
! U1 w" @9 S% A- h
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
8 Y# i4 O: J" {
9 A) S; t: [3 j! Rturtles-own [a b c d k f g h& v+ E9 p* L3 @( h0 W$ {) P( R
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle + E% \2 Q' W& c" b
]
0 L# O8 D, W7 G  ?& U  e' eto new! k( K# j- L! ]% c- Q2 `
  ca  O$ y" \# d; |6 I, W* L
  crt 5 * num_of_building
; W% i0 V0 A+ e" y  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]0 f0 C( t* D+ q, ]
  scatter     ;;keep center-turtle random positions ! x- o3 g5 M2 y
  unit_plan   ;;make up the building plan
' _8 i) D7 S5 n3 Mend' i- f* P( J2 g) {* H- A
to scatter
- P( U/ q% Q. Hask turtles with [remainder who 5 = 0]1 D9 R/ e2 [$ {4 L) e8 q6 \
[
! D5 ?) j9 \, N# Uset xcor xcor - 6 + random-float 15
7 R4 {! P* `: v- C9 a3 ?: \1 Jset ycor ycor - 6 + random-float 15
* [0 c7 V6 B/ {]* v1 _* w' \. T4 i
end- _; H& m& B% }- |- n
to unit_plan
5 `5 F# j6 m3 a/ nask turtles [
& Z2 U# o6 o: D) Iif (remainder who 5 = 1) [set a who 1 O+ L1 o) h4 ]' N  F( P' m
                          set x ( 0 - Wid / 2 ) ' K$ `  f: o' x# f
                          set y  Dep / 2 ]1 b( r0 }- a! ]9 [# l3 B7 a/ l
           set b  int (a / 5) * 5, n/ }) U( o: b0 G3 ^( d  q' T; C  t
    setxy ( xcor-of turtle b + x )
0 ^  T" G( }- L9 o          ( ycor-of turtle b + y )4 Q% `% s) {: {3 H- s6 ?" v
if (remainder who 5 = 2) [set c who
/ ~7 w, B7 p7 S8 l- Y4 A( ]                          set x ( 0 - Wid / 2 )
8 D$ J0 c9 u3 n; \                          set y (0 - Dep / 2 )  ]: Q0 v& H  m# y/ k6 t! C$ _
                          set d int (c / 5) * 5- R* v* y/ ^2 }) r* ?5 K3 `
   setxy   ( xcor-of turtle d + x )
2 m3 j4 u  p0 i4 R! N           (ycor-of turtle d + y )
- W6 T: w8 z0 O1 h% E/ P0 ~) P2 i          9 y. }/ X7 U2 i( v
            # `. L# v( h3 R# W
if (remainder who 5 = 3) [set k who
, @2 h/ W8 L+ C% e! B2 R5 j& K                          set x( Wid / 2)  
+ E0 g5 l0 @5 I. h8 `& ^! R                          set y (0 - Dep / 2 ) ]7 Z$ n! `- _5 P& f1 O" R' @
                          set f int (k / 5) * 56 Q  B" n/ Q, a- U& l
  setxy   ( xcor-of turtle f + x )
6 Q; y/ W0 h# I2 ^3 {( A4 c% }           (ycor-of turtle f + y )
4 A3 a) i' h$ [! I5 k& K0 o           
$ ]* h8 x- i' u- U8 e  e  @9 P           * Y+ v$ `8 G$ `" F+ k7 t/ {
if (remainder who 5 = 4) [set g who
5 T" d9 m" |0 R& v- A                          set x Wid / 2 5 D1 S$ o  O: a0 V  v2 a" H
                          set y  Dep / 2 ], M  |. }4 g2 p2 v, B
                          set h  int (g / 5) * 5
. Q! c# V: j  u5 O0 C0 K$ h  setxy   ( xcor-of turtle h + x )
: |( z0 V$ }3 L           (ycor-of turtle h + y ) 2 N5 {4 s: I3 @' G8 _1 x3 S/ S
                          1 p: c/ y' V0 ^$ l
                          
& F) _& W8 m/ J9 O' y5 x! F                          ]) G4 L' w: O  i, s
end4 H* P+ t8 g1 e/ {
2 r5 S9 e' r* s1 O
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! _5 d; J$ F/ s+ Q" e  b' j
应该是2 B, Y8 {& z" j' z0 [: t" {
ask turtles [/ a: H4 |- t7 @1 T$ a9 z
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) - x/ k7 ^& o" @7 F- M
                          set y  Dep / 2 $ S+ v+ }/ G- r/ {& `0 f$ R4 N9 c8 g  o
           set b  int (who / 5) * 5
% C3 S  ]: `! F; b" N) p    setxy ( xcor-of turtle b + x )
' ^! g$ K  N8 z  m          ( ycor-of turtle b + y )]]+ i) q- l$ i6 \2 Z' @, p
end
! C( C, U" Y# ^7 g; v% w! W之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-24 08:03 , Processed in 0.015387 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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