设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8849|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。0 `7 s; j0 u  k" t5 o
1 E) ^  h# ^% M/ w; j+ t
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 e' T  {% V4 K/ N

% _/ z; l' v( [9 l! O3 O! Zturtles-own [a b c d k f g h
9 S! f3 G# v! z( m9 W5 D  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
$ [6 ]3 ^6 s& H" E4 Q]
0 }, e9 c. l  ]) C" @) [2 F) f3 zto new: ~2 ~* X3 L7 y% Q$ M
  ca
3 C8 d0 V3 j+ U) ]+ Z$ d9 T! ], {! F: Q  crt 5 * num_of_building0 d7 G/ d' B+ [- V
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
1 T* \: p/ j% t' S* l0 i1 `4 X% A! \  scatter     ;;keep center-turtle random positions 9 i6 \' s. g+ _! ^* I. k8 v7 t, E
  unit_plan   ;;make up the building plan, y! R6 q! y7 r. W# l# B9 Y
end+ m7 {4 c# V# D: S* `* ?
to scatter
2 O# z% b: s& T; }* V2 j4 Yask turtles with [remainder who 5 = 0]
" V- j& E1 Q( L' G9 F[  R5 v) F# {* a2 y$ z8 Z
set xcor xcor - 6 + random-float 15
9 ~5 w; C4 O$ O* pset ycor ycor - 6 + random-float 15, c  R  |7 q$ u& e2 d9 K+ N
]
) P$ Z/ y$ }/ d/ Z* P2 lend6 N( V2 {9 K" \# j  R
to unit_plan 6 Q2 U- F2 o  d  s8 ?
ask turtles [
5 h! y) z0 y1 h+ Sif (remainder who 5 = 1) [set a who
; L0 X* k! d3 w                          set x ( 0 - Wid / 2 )
* i2 t1 N" ^3 n! ]9 d0 n: r                          set y  Dep / 2 ]
: C: T& y6 e  C5 m! |           set b  int (a / 5) * 58 T2 F8 d7 m/ `  y# Q/ i# Z
    setxy ( xcor-of turtle b + x )
3 w( [/ z' Q1 M          ( ycor-of turtle b + y )1 z2 _% Q( D# T4 z: L, E  y
if (remainder who 5 = 2) [set c who
1 U- \7 S1 Q( j# i+ t# S) V) d, X5 H                          set x ( 0 - Wid / 2 )
* y3 E- q, Q* e- T                          set y (0 - Dep / 2 )  ]
( k" j2 d7 c+ W5 Y3 z* V                          set d int (c / 5) * 5! p7 F# |; C) \1 I% m
   setxy   ( xcor-of turtle d + x )
% c- U2 m' M0 e6 o* Y6 p( G           (ycor-of turtle d + y ) 8 h$ h# @4 f# A0 U6 f3 p" K
         
2 Q/ l$ s6 }8 F1 F            " C+ A+ |7 ?# d/ H) y7 _
if (remainder who 5 = 3) [set k who$ `- y. p& Q6 [- H" v
                          set x( Wid / 2)  4 _% p" K3 g/ |+ y! \1 f. D) c
                          set y (0 - Dep / 2 ) ]
  I3 I, Q4 q- n# y. }                          set f int (k / 5) * 5
3 B0 o- M6 @% j, t% o  setxy   ( xcor-of turtle f + x )) M3 T: t4 O8 g& p/ Z+ ?6 c
           (ycor-of turtle f + y )
; n7 H% W6 ?8 R7 c. R, u           # u4 U% U0 n  ^5 m8 {! Z! D
           
3 A9 N( S/ x( S( l9 ]- L' ~, j& Q5 Rif (remainder who 5 = 4) [set g who
1 x  k5 Z% w5 Z) p$ u                          set x Wid / 2 3 o6 g3 u6 U# X* O% D, x2 {
                          set y  Dep / 2 ]4 [9 N3 h; W3 g; ]9 \& q& L3 ?
                          set h  int (g / 5) * 5
$ l+ d$ n* L7 y$ k" n' s  setxy   ( xcor-of turtle h + x )
. O6 m8 b6 C5 }0 G. F# N/ H" x& y  N+ m           (ycor-of turtle h + y ) 8 L+ B# K5 h' e: \2 L; B+ c/ M
                          
& r" w& x& T. X# t7 l                          
# M# |, p5 [( |$ h                          ]0 {4 G) @* h6 ?( m3 u5 l
end
& @4 O5 I6 ]" C* {: w$ Y- \- Q
& A: u& U" M2 H& \, e[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
) k' I3 @# y4 Q; ?7 R. Q应该是
4 H( v& {% `) {% {9 x4 Uask turtles [; L+ b" I( a2 x5 M- g8 `  ^
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 4 B: t" [) }6 T& _/ b3 b- K
                          set y  Dep / 2
3 I- b. G4 `. z1 F4 M& u3 |3 \           set b  int (who / 5) * 5: \; I4 C" |( c! ]( E, b$ Y! S: b
    setxy ( xcor-of turtle b + x )& V- f1 J  @# ^. R& n  G
          ( ycor-of turtle b + y )]]
0 p# E/ `: ^* Q* |/ H2 fend4 O: ?0 }& t. a- Z( Z
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-11 06:41 , Processed in 0.018442 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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