设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7407|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
5 Q6 U* x7 `# M3 g6 d: G. W% n( @$ L' [1 \7 l% x
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
/ T- y' j* t' u' L" i6 D+ o( f+ [- T1 L6 |0 `0 y
turtles-own [a b c d k f g h$ y- G+ Z% f# X* `
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
# S1 T. b4 u* \. B/ G! @]5 E" p0 g+ Z! ]6 g. g
to new
0 j, d' ?7 m, |, D; ^  ca7 }5 O8 J9 q) T
  crt 5 * num_of_building4 a& }9 [" V' b; X: `
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]* L: a/ r0 W( \/ q7 z$ S* o
  scatter     ;;keep center-turtle random positions
/ L1 ?+ W" J9 ]' o4 F* m% D  unit_plan   ;;make up the building plan
5 L' f2 q  O! Kend! v# M! V! D$ _& c2 I
to scatter3 g  b& v9 J! \
ask turtles with [remainder who 5 = 0]) j: P) p& R1 |# h
[
8 B: S/ I4 A$ Q7 l2 U5 [set xcor xcor - 6 + random-float 15. ]* ^! f$ U# O2 w; H8 u
set ycor ycor - 6 + random-float 15
' {' F4 j( R8 Y2 v, H]
# j/ ^9 I% _4 ?& v' H- uend* ~0 S  O/ |$ A9 H' q
to unit_plan 1 F" p2 }, Q- ]1 v+ {' w2 Q
ask turtles [
7 U  m3 I- K3 U1 D6 k  o, ~# Dif (remainder who 5 = 1) [set a who
% I+ j, t1 @5 D9 N                          set x ( 0 - Wid / 2 )
( F# S  Q( ]2 `9 g, p& U3 j# M                          set y  Dep / 2 ]
& f' m1 |* e3 [  }9 j           set b  int (a / 5) * 5
4 n- [0 \# m# y; p& @; t, o    setxy ( xcor-of turtle b + x )' b! e4 s! y) g
          ( ycor-of turtle b + y )' j& w/ \+ Q1 H" Y- P
if (remainder who 5 = 2) [set c who; Y7 T4 M/ e. D6 [% U* g3 p& I2 |
                          set x ( 0 - Wid / 2 ) 2 v2 k8 W4 a) m3 ^# C+ y
                          set y (0 - Dep / 2 )  ]. u8 m3 U8 ?' F$ _/ X5 S
                          set d int (c / 5) * 5
  s, }8 r) L$ G2 n   setxy   ( xcor-of turtle d + x )
' X2 s, e  r) e! ~           (ycor-of turtle d + y ) ' B4 I* O! M7 J& |/ d; B% Y
          3 a' `- ?* K5 V5 [7 u& h+ D
            
  f; ?0 a7 r% _( S+ q( M: u; Tif (remainder who 5 = 3) [set k who1 l) D) s- j+ J9 Y2 k4 P. v
                          set x( Wid / 2)  
2 R6 J+ s, [3 d0 G1 P1 q& d                          set y (0 - Dep / 2 ) ]( e, F4 F4 y# N9 d
                          set f int (k / 5) * 5
) |9 a9 w7 R$ G6 Z: M3 D2 q  setxy   ( xcor-of turtle f + x ): f4 _2 q- O8 x+ ^  @6 X
           (ycor-of turtle f + y ) 2 |3 S' w+ K5 h
           / ]) D  j$ C: A' h7 E) C. g1 i
           % T& d' J* H) [' S: f7 m! a
if (remainder who 5 = 4) [set g who" K! F3 h5 G  M7 M1 b
                          set x Wid / 2 2 k7 p- E, K3 L0 G% N% P5 t
                          set y  Dep / 2 ]
: P* y1 X3 o$ p' a) `                          set h  int (g / 5) * 5
( A3 V. `  |( J3 \6 F% l+ ~  setxy   ( xcor-of turtle h + x ), Y; c. u3 b8 I1 e9 K
           (ycor-of turtle h + y )
4 [7 Y4 w: Q' c3 i! i( f7 ~% U/ M                          
& O% t3 z! O! d                          & h# v3 |; k9 s9 |' `$ L- E3 q
                          ]
3 [0 k$ ]& X. d4 W( F% Pend
# z2 M* W, N: Z  F% H1 o
1 [* r! l# x3 C' V  ?[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," t2 v  {  P9 h7 h# j
应该是$ _9 a0 q8 I5 q; F4 u
ask turtles [; P( Q4 T$ G' H) n0 J
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) " K8 F0 |1 S1 N  E% |# P
                          set y  Dep / 2
% h7 D. X1 m% L/ e: s           set b  int (who / 5) * 5; ~& i. @. C, V: D0 i* s
    setxy ( xcor-of turtle b + x )( f& U* c% }" d+ f! Q( t
          ( ycor-of turtle b + y )]]& X5 o$ F7 f1 W' w4 h9 o' m
end
) H; @' o+ K7 A1 C6 f. R: y' z之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-8 19:58 , Processed in 0.019739 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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