设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8476|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
# h. R3 u* D+ M- \: m5 f, z# F/ K% u1 R3 G' ~5 \
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
; Z% U( \2 ^5 y6 f7 Y" G$ E; S5 I# ^! I
turtles-own [a b c d k f g h
% s- e9 t! [; o  e/ U  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! d6 t7 T6 Z: s5 I]& F3 a- Q. i1 T" p4 x
to new8 n+ F' {, E. g% i9 J+ _+ S' C* A
  ca
. R9 J8 E! N7 V  crt 5 * num_of_building  a8 d. }& x/ Q  T! e
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
1 y0 [" l: z" H5 `8 F  scatter     ;;keep center-turtle random positions
0 a4 c& g# l) k  P1 n  unit_plan   ;;make up the building plan
5 b& T- J4 f% Z4 y% u. iend( l) N3 N* V$ c: X) Z. K/ ^/ e/ b: d
to scatter
& y) Y  z+ p3 C2 M% o; pask turtles with [remainder who 5 = 0]
& }1 s+ e. m8 K( Z$ Y# g[+ C4 o, ]  B2 w0 G
set xcor xcor - 6 + random-float 155 i& N* d+ L, f" `, r4 I/ k
set ycor ycor - 6 + random-float 15: w5 W( t% |7 M5 E9 @; R% l
]
1 a1 z1 b$ Y' H8 F  s  send1 T7 A" Q- H* S* A; u
to unit_plan % |8 X" ]7 {) {0 C! k9 K' B- D
ask turtles [& U3 d/ z. }3 ^/ F4 H8 e
if (remainder who 5 = 1) [set a who $ a% E- L( H4 t( T
                          set x ( 0 - Wid / 2 ) 5 g3 i1 O/ ?0 z
                          set y  Dep / 2 ]/ ]) N% F1 u4 b6 \; F0 Y4 V/ d
           set b  int (a / 5) * 58 n  x* a0 Q4 j- v% G, m# K" }4 g
    setxy ( xcor-of turtle b + x ). }% Y! i- `! G5 n  r  W
          ( ycor-of turtle b + y )% [5 ?8 Q" `7 A8 }
if (remainder who 5 = 2) [set c who
0 M/ g" [! ]2 |6 C: m                          set x ( 0 - Wid / 2 )
; j; o% i3 ^! {$ o- v6 q                          set y (0 - Dep / 2 )  ]
5 C5 d8 B. B* X% P7 a4 {% o5 \                          set d int (c / 5) * 5
& ~- s; I3 \* q% _4 v6 P* {   setxy   ( xcor-of turtle d + x )
9 Y  J( f8 u. {1 k; U1 Q4 W           (ycor-of turtle d + y )
3 b& h( E3 b" J0 R  C         
" F# i" ^+ A# J            
; U7 j  c: k% ^, d8 K0 w- iif (remainder who 5 = 3) [set k who
) U9 ~# R' ^' Q7 @# Q                          set x( Wid / 2)  
& l; l- J( `! {! m# _( T                          set y (0 - Dep / 2 ) ]! c, C$ H* K3 N+ V# A% }" Z* u
                          set f int (k / 5) * 5
% A& N. `3 W( d& |3 |) C  setxy   ( xcor-of turtle f + x )
2 V9 h1 q% j, P           (ycor-of turtle f + y )
( M2 A$ }: z  V, o           ! c4 c1 g9 d- ^3 W, o0 `; j, z' `
           
: C! A6 q1 |% c! V# O2 |4 x& H' I5 @if (remainder who 5 = 4) [set g who
$ V0 G3 O8 f! p% d                          set x Wid / 2 8 Q, B6 b7 L6 q1 {+ P4 n2 Z1 E7 G
                          set y  Dep / 2 ]
0 |# m+ f% k" j  P5 G3 f                          set h  int (g / 5) * 5
7 M' g4 U* P( ]7 l" e# s  setxy   ( xcor-of turtle h + x )1 Y9 M0 u/ n7 _) ^. S0 P
           (ycor-of turtle h + y )
& E# m3 N8 c: L5 q- C. M                          
; w4 Q0 A- H4 k7 i/ M                          
0 B# ]. j! [0 w9 f1 [* M                          ]. f" a7 N4 N7 o. [+ Z8 s8 e3 ^
end7 q4 p9 V* g* L* G% {) y( b- z7 t

4 I- f- n6 e. B8 c[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,/ \0 I( n% D+ z4 a& C0 l/ W& N7 y! r( N
应该是6 H- X8 D. ~# C8 l
ask turtles [  Q# z! C( d$ t6 h4 V7 P
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 6 ?2 |& W% V& w; y9 d& E4 n0 T
                          set y  Dep / 2
& W5 t; w0 R! R8 r6 k. E           set b  int (who / 5) * 5
5 u+ b& ?2 A1 E; V    setxy ( xcor-of turtle b + x )  m- a8 L8 o0 e4 r
          ( ycor-of turtle b + y )]]
8 L- I* W/ L1 Y$ Rend
& G# m6 z; n1 A3 _6 ~+ c之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-2 01:07 , Processed in 0.016838 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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