设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7072|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。1 m5 E3 T7 l; j* o6 X3 C5 j/ w

) U8 |# g) {& l0 i+ C但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' \2 C! V$ |1 q9 S$ W
- C( c* q& j4 c
turtles-own [a b c d k f g h
; a! i5 \3 C& N% t8 Y0 x5 _  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
. B. m& S5 U3 d# r4 F5 e" e]
5 Z7 X% t3 `: l5 A! v% n% Gto new4 W" L# B4 E5 F- H# s( D
  ca, d9 `2 p4 q/ M$ a; v& n! X
  crt 5 * num_of_building
5 Q& R" f" U! x  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
% D7 P3 l' ^4 O- [  scatter     ;;keep center-turtle random positions - K3 g/ d4 R8 t5 s( V0 i" C/ G
  unit_plan   ;;make up the building plan6 p) G- o! f5 Y1 ?' V; d
end
" o) }3 E: J2 T* G+ Hto scatter
. [- Q8 V, G9 p" Jask turtles with [remainder who 5 = 0]
; `0 n  U& B/ h. F$ i[
! I  ?# j8 d9 O1 xset xcor xcor - 6 + random-float 155 g: m# o( \9 w. F
set ycor ycor - 6 + random-float 15* P- O- K. p( K3 k; j; g
]
" b7 E" r% J$ w  [$ lend
  Z2 w: Y8 j! r1 n  bto unit_plan
5 J, W( a+ @2 U5 wask turtles [
' k0 L! A" i/ y5 _if (remainder who 5 = 1) [set a who
- T( O1 A3 |% E! r7 y                          set x ( 0 - Wid / 2 ) . u! }  j0 k( U" i5 I3 {
                          set y  Dep / 2 ]$ D9 l% w  w  O) V( v  y( w
           set b  int (a / 5) * 56 l1 @: T; e; j* y1 I* x
    setxy ( xcor-of turtle b + x )' H: @: @; Y3 A/ L/ N+ h
          ( ycor-of turtle b + y )% J% F; p1 R6 C( u! i6 L
if (remainder who 5 = 2) [set c who
! J# p8 }1 L3 o                          set x ( 0 - Wid / 2 )
2 z  P& y% c0 e6 t6 ^4 x% _+ k8 u0 I                          set y (0 - Dep / 2 )  ]5 K; X6 o7 W. [5 V% ~- l0 K0 U
                          set d int (c / 5) * 5" t0 P8 _+ k/ q" C) A
   setxy   ( xcor-of turtle d + x )
( d0 h4 c, a6 @, h           (ycor-of turtle d + y ) ; X9 G1 R1 C- r) d- Z
         
2 @% O1 P- P- h3 g2 V( O              ]- R5 L6 h" m
if (remainder who 5 = 3) [set k who
0 t" [. I: q3 `& J5 N- Q                          set x( Wid / 2)  - e; f" x" M2 G; w, E9 P
                          set y (0 - Dep / 2 ) ]) l, l5 }; I$ w/ L0 Z* S9 q/ R
                          set f int (k / 5) * 5
. }! x4 Z- X' Y6 E' e  a8 U  setxy   ( xcor-of turtle f + x ), {% ^6 ^+ F, u6 c1 T7 Q+ |# a2 M
           (ycor-of turtle f + y )
# O9 y/ R: r5 v" @/ h# J0 w5 [           
$ M8 P+ L, k- V           ' m/ d3 [  e, N, ~
if (remainder who 5 = 4) [set g who
0 F3 l, I* J) x% t9 ]) e+ ?# X                          set x Wid / 2 $ u3 f. Y2 c2 H$ ]" W: d/ \) I
                          set y  Dep / 2 ]
' Q! k* I" x) w3 g9 y8 M$ r/ V                          set h  int (g / 5) * 5
1 o5 F9 n5 T# o. w$ @  setxy   ( xcor-of turtle h + x )
3 w& W: P& `( Z5 b4 }$ d; }0 @& Z           (ycor-of turtle h + y )
( w9 e* R3 z  {                          
, Q) T6 d" Z  i( L/ \                            g$ P7 O. W5 ^" m) b$ m0 o
                          ]
' R( t/ T2 b) S5 e: }2 Qend
1 S! d1 ]) L; v. u
$ ~  l) e! C8 t# [; ~9 j; H  N[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
4 h/ l1 S$ j' ]9 G. d1 l应该是; w1 o* q; [  v! M' z( G4 K9 B7 }
ask turtles [
8 Y6 @# K$ \3 y6 t. kif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) $ N3 i9 C( q( C( @3 H0 v
                          set y  Dep / 2 " ]8 L- y* E5 o* U
           set b  int (who / 5) * 5
* y3 e2 K) n! J; E/ T/ K    setxy ( xcor-of turtle b + x )) S4 p3 t4 y" a' L: E
          ( ycor-of turtle b + y )]]
, j: R, t8 H& o9 }; @+ ?3 ]end
/ ?2 Z$ w2 Q3 N+ N9 }( V& F- a之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-25 17:00 , Processed in 0.026038 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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