设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7275|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
3 C4 Q5 Q6 G; t  B& a# X2 E. g! W' @0 Y3 d
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。7 l7 J- W" R2 r

) J& r: W& ]: Z3 ^9 kturtles-own [a b c d k f g h3 ^/ y8 \/ E. t4 O4 w$ y
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
# F7 y: R9 u1 N/ J]
4 V3 J" q, `$ ^5 M+ Sto new
; o% j" e; ]8 J  o& @+ ^  ca
5 J/ J5 l& ?$ c: x9 b) Y* r  crt 5 * num_of_building
8 d: c3 Z9 l  t6 Q3 i- G5 q  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]! N7 Q6 j3 s$ u) V4 I. h! z* {
  scatter     ;;keep center-turtle random positions
% [4 ]# k6 T0 I, I+ h) L  unit_plan   ;;make up the building plan
0 Z6 B& P9 `8 i* g" Nend
" e3 N9 J5 i) X. \7 g5 ]to scatter
9 K* f7 M6 w% I2 R7 Y1 t. Fask turtles with [remainder who 5 = 0]
3 e$ {$ R, m" t* n1 m' G[5 }) P! E/ I. I
set xcor xcor - 6 + random-float 157 H! C( ]6 v( j9 |/ {. `. Q" F
set ycor ycor - 6 + random-float 15, @8 Z$ v4 s( {) I6 T6 I0 @
]
& i2 E& o0 c: a3 q1 I# W2 lend6 F. h3 d; K$ p: k
to unit_plan $ [( f5 R1 ]4 L0 d1 }( F, B6 B
ask turtles [3 e" ?! X1 @1 s( F
if (remainder who 5 = 1) [set a who
& f+ a' i7 C" |; p# w+ r  c# N                          set x ( 0 - Wid / 2 ) 4 y; \" G5 E" h" H: R6 c6 r! m4 ?9 ]
                          set y  Dep / 2 ]/ Y% s0 R2 P% f. K
           set b  int (a / 5) * 59 U5 v4 s9 C( s  \* F% M, ]
    setxy ( xcor-of turtle b + x )7 b# ~' \8 j7 `! l" _
          ( ycor-of turtle b + y )
* n$ w5 v: R( s, Zif (remainder who 5 = 2) [set c who7 M' r' `3 n8 V/ o
                          set x ( 0 - Wid / 2 )
+ q) M8 f' |8 n+ w$ v                          set y (0 - Dep / 2 )  ]
% I" y# k6 N2 t9 I                          set d int (c / 5) * 5% N! s9 p9 r( K# Y* w- I
   setxy   ( xcor-of turtle d + x )
5 T6 `$ \! P7 [9 j% n. y4 {+ G           (ycor-of turtle d + y )
3 [2 u6 P" l1 M' v; m) ~         
7 R1 P3 f6 l. G            9 C! r9 n. C2 W7 r2 E' n1 x
if (remainder who 5 = 3) [set k who
5 A4 [; C$ }0 f6 @/ {) z9 S* |                          set x( Wid / 2)  : A" c# q! D. ~) h% w) k* w7 f! t
                          set y (0 - Dep / 2 ) ]
% i" e6 H2 [  P) y                          set f int (k / 5) * 5
* E6 e& b+ ^" O6 N  setxy   ( xcor-of turtle f + x )  a7 g6 J# X# P6 s7 L" n$ K2 d
           (ycor-of turtle f + y ) & @- {, `7 c+ P
           : Z+ b+ u; H! x) ~0 A, u1 y4 D3 H
           
6 u, e' O- R- J% l  D' D$ O8 qif (remainder who 5 = 4) [set g who7 G; n# Q! U' W/ p/ B
                          set x Wid / 2
& [2 _/ E" D$ L                          set y  Dep / 2 ]) T" T3 a- I1 r
                          set h  int (g / 5) * 5" `9 a6 E& _! |# D* V  ^. _3 F
  setxy   ( xcor-of turtle h + x )) \9 M2 e, }+ l# B0 z+ X# l, N
           (ycor-of turtle h + y ) 6 v! F; d. O( a6 f5 {. v! x1 @$ X0 r% y
                          
0 B. ?) ]: O! p. L                          
1 x9 E* x; o3 G. `, z                          ]
* X6 ~2 m( ]! ~' bend7 I3 I( S) d' ^9 z
% U% l  \) ]4 m& q6 s7 c
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
. B3 {  n( N0 \0 \! N. j" j应该是
7 o' t7 Z6 N% k( |, P3 U% {9 v5 Lask turtles [& k& E; D! w5 O8 M) c# y; c( m& p
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
6 |3 E0 |" F* |6 k- B- `                          set y  Dep / 2
  b# W, D! r2 H6 J7 A           set b  int (who / 5) * 5
3 J  d$ v* c8 d; f, I; U    setxy ( xcor-of turtle b + x )3 @3 C# i, |# f9 ~5 v' u- W, L% K
          ( ycor-of turtle b + y )]]
. e! D: `1 n* E3 ^3 h5 s( e  F6 @end+ s7 ~' k! a, a' |0 i3 Z$ |! F
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-24 07:22 , Processed in 0.016341 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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