设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7211|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。2 F; F# ^7 A$ D: A5 p% v' X- x

% z& H2 R+ ^2 |; Q' G但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。  r* d. K- W2 q9 W9 O0 n% \$ w
6 }; o2 |- K" p! \( a
turtles-own [a b c d k f g h: y' \: B9 m: r# Q
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ( y2 @2 w9 J8 a' x! W
]
# x5 T1 _3 k% G  Nto new
1 D9 T! X8 c) G  ca
3 @% ~0 n" [& ?' N  crt 5 * num_of_building6 I  \/ K6 r2 s; `* |; |/ _; \
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 D. G; M6 B4 m" A! O5 E5 u  scatter     ;;keep center-turtle random positions
5 Y" U5 P9 q! w. N  unit_plan   ;;make up the building plan
5 g% R* y/ w) f& u5 Bend  d8 N: C- Z3 F* G2 n+ Y
to scatter
- \- |) x2 c1 h! R$ {ask turtles with [remainder who 5 = 0]
/ H5 l, h+ Q, B[
/ k  G+ k3 O, C8 B& Q" U- Uset xcor xcor - 6 + random-float 15
6 \) d* K/ R+ j3 x1 E& d& X1 wset ycor ycor - 6 + random-float 15: }# t; }0 C, G$ K. J4 K. J3 i$ n
]8 F5 ?' t( k5 O: i8 {
end6 e: h! r2 ~$ W* I3 O* @  Y( U
to unit_plan , H) R' U- Y. E; y% J! I
ask turtles [
( [& ~. F# h2 m* Mif (remainder who 5 = 1) [set a who
( G4 C- w1 r) ^; V                          set x ( 0 - Wid / 2 )
3 b7 W1 t" B4 H0 q7 z( ~                          set y  Dep / 2 ]
" q9 P5 F$ T: h# @( U# V8 ?& e           set b  int (a / 5) * 5
3 x# s+ }- T, j4 k& Q6 R! i    setxy ( xcor-of turtle b + x )
% ^9 n6 q# L" E* h7 f+ y2 F/ W          ( ycor-of turtle b + y )
+ Y: q$ m6 X. B8 m' @0 D4 w- Vif (remainder who 5 = 2) [set c who: g  [0 d7 M; X7 `( P  Q
                          set x ( 0 - Wid / 2 ) ' Y) P# [6 X$ C8 }$ A
                          set y (0 - Dep / 2 )  ]6 r1 H+ p" _0 ]8 N+ V
                          set d int (c / 5) * 5
/ L! P+ z3 A0 G4 b! P3 V" l* f0 |   setxy   ( xcor-of turtle d + x )* W* \- A- Q% @# a
           (ycor-of turtle d + y ) : \: p" h1 b6 F0 |! o! {& `, q* d
         
/ c5 X- {8 z0 D7 p* p3 Y- E            8 g9 i5 L: O, ^
if (remainder who 5 = 3) [set k who
' D+ a( f& r  N5 u7 q                          set x( Wid / 2)  " Q! {$ o" {. f
                          set y (0 - Dep / 2 ) ]. ^1 ~/ X- e( [# D
                          set f int (k / 5) * 5
1 j! `- V8 t- m3 F& U% {- ]  setxy   ( xcor-of turtle f + x )
! O$ ~9 _( G9 Z) n' l( {           (ycor-of turtle f + y )
! @5 E: l  f) Z0 l           % n3 t6 ]9 _: h1 T6 y$ N
           
( S0 T( }1 W, J+ L/ M. Xif (remainder who 5 = 4) [set g who
3 }2 V. o. L9 r7 L; \, |; E/ o                          set x Wid / 2 ( v  W( U/ R. c0 I0 k
                          set y  Dep / 2 ]
) T) d' B3 A, k1 Z                          set h  int (g / 5) * 5
; K8 a/ _# l( H  L2 C  setxy   ( xcor-of turtle h + x )
1 {7 ?, M# `& I- Q/ U0 k           (ycor-of turtle h + y )
3 v1 M( u! t2 N/ `3 [& h                          ) |) X7 e! d8 K! l! l# ^! l8 D
                          8 ^( U% I0 g1 ]3 A1 y0 c
                          ]/ S0 R  z$ o. k. j3 ]+ E5 U; _
end
( e4 j/ L& Q) F/ _; F3 Q  ^& H
5 s, W8 s5 Z& A% F0 W[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' |% V$ X3 K7 q: Y) N应该是4 t. ^0 D0 J) f/ k' Y3 `
ask turtles [
- A6 w" k3 v2 j+ R/ z% p9 j( Q0 M" Dif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 4 v" A1 R2 g1 c' g+ H' b% n
                          set y  Dep / 2 3 @* c) {% J/ v
           set b  int (who / 5) * 5
# t% e5 E) i6 U- p; A    setxy ( xcor-of turtle b + x )5 h! c0 K: p+ @1 c8 c2 j
          ( ycor-of turtle b + y )]]# {6 K5 |1 E0 ?8 x+ C
end, g. H6 W) x" p5 A" c0 b
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-17 15:56 , Processed in 0.037594 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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