设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8245|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
0 X  k" S0 J; J% L. N/ `9 h" a' L# U! @
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
. Q* V$ w+ X' l3 V# O2 m
& \1 w5 w  C$ F) ~& B! l4 uturtles-own [a b c d k f g h0 I- X: O" H$ L6 s% c/ Q8 w, w
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 1 p6 Q, a. I8 ]5 e
]$ {( O# m5 {4 p$ i
to new( p( E. R& D9 r/ w, W
  ca3 d8 w4 }0 {6 u9 o8 t
  crt 5 * num_of_building6 j+ \4 e4 J1 q- m6 t
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
( @' q1 S, G; x& i( b( Y  scatter     ;;keep center-turtle random positions / [( ^5 M7 T% a$ \& i5 o/ x
  unit_plan   ;;make up the building plan
% _- e& ~4 m( o* Tend# K$ H2 ]: i  t! K: p
to scatter' }  m; X; b, X7 Z0 c4 ]
ask turtles with [remainder who 5 = 0]: M8 t1 s- y2 ~; u3 e/ Y; ~+ V
[% u- O9 h! c8 U" x
set xcor xcor - 6 + random-float 15
3 w) p0 u; v, r6 gset ycor ycor - 6 + random-float 15
* G. X3 v2 n: |7 O0 X# l]3 m6 L8 y2 f* X
end0 L# E7 d6 R- V  V2 [3 U
to unit_plan   V7 h  Q8 u/ \7 [3 K* M+ O! S
ask turtles [, L6 L; w+ m3 M2 v0 r
if (remainder who 5 = 1) [set a who . S/ D- m' r7 [9 r& E6 P6 y
                          set x ( 0 - Wid / 2 )
1 _; b. n$ \, }1 N1 h                          set y  Dep / 2 ]
& D$ U7 ^0 C7 A2 P           set b  int (a / 5) * 57 e: [. a& M4 ^
    setxy ( xcor-of turtle b + x )  B( H1 H% u' ]( u0 D
          ( ycor-of turtle b + y )2 s: M6 c6 b' q- f, l2 z4 g% r3 E
if (remainder who 5 = 2) [set c who( O2 b, k7 A* ~+ p2 k1 X+ Q
                          set x ( 0 - Wid / 2 )
% ]" Z* A3 L+ q- S1 T4 }, h9 a                          set y (0 - Dep / 2 )  ]
7 f& \$ I/ A0 M0 S  e( h; ~- E                          set d int (c / 5) * 5
, @, a4 \, O% H" i, N! y4 G, p   setxy   ( xcor-of turtle d + x )7 r) ]4 Y: y) S& o: `+ s( s
           (ycor-of turtle d + y ) 0 X. k4 S, i: A# s7 r4 B
          6 M$ ~* D; T1 c% H) W
            
& A  a* L% A) fif (remainder who 5 = 3) [set k who
  X* C& q9 T5 L" g& Q                          set x( Wid / 2)  + I5 G2 h) ?/ i% q. [
                          set y (0 - Dep / 2 ) ]! |6 \8 E& J6 @& J  g" z; n& H
                          set f int (k / 5) * 5
; E8 T) r5 G7 z# l! O6 Z  setxy   ( xcor-of turtle f + x )0 w- E9 q- n5 |/ |; z
           (ycor-of turtle f + y ) 0 p, O- H  |& i5 k7 u+ u) j
           : [$ C, o$ ~3 c! k# ^# o0 w4 W+ A6 K
           6 n1 C  f; d- g1 y" S, t& H; \
if (remainder who 5 = 4) [set g who) S* @/ ^5 c: ]
                          set x Wid / 2
/ o6 E1 s( Z4 L8 S+ I- x2 j                          set y  Dep / 2 ]
  ~4 s/ N3 t0 i0 W, ?$ W                          set h  int (g / 5) * 5
9 d0 e+ U; x, r2 g$ _! i  setxy   ( xcor-of turtle h + x )
6 P3 f/ P& @7 j           (ycor-of turtle h + y ) ; |7 w! |( v' J" S( D; p4 ~
                          
2 T* S3 q. b& b) q" ?/ E                          ) k( V) W8 r  c. B
                          ]/ J% J3 \) P, b# U* ?
end
- X( d( e; X/ u$ e' n! V$ Y2 _3 z
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 g: m( ^1 I% o8 n7 ^3 b! o
应该是$ {  J& L/ t2 e. e
ask turtles [
3 K3 E2 [" c, @5 H4 o/ J7 Wif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
- o+ a. ]3 d# i+ N* E2 ]                          set y  Dep / 2
6 t; {, F; v; e           set b  int (who / 5) * 56 ^+ ?( d0 k" l
    setxy ( xcor-of turtle b + x )1 I# H1 w; X$ o2 S  y4 V& M& p$ t
          ( ycor-of turtle b + y )]]5 C: Z- o* N  l9 [4 L! N
end
8 K8 f  R, f6 B之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-24 01:48 , Processed in 0.017661 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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