设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9041|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. L: u+ i+ u5 o; b+ U( g
2 _0 X/ h, S  h. R1 u' h但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。# Q( D1 ^- V  l. V: X6 G

* x. {& v8 k* d& n8 Z& Bturtles-own [a b c d k f g h
, Z# d% D8 X0 `1 c5 ?  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ' a" W$ p% z9 j* E! p9 \
]
# m" J# r) Q* a, F& ?6 R# e5 ito new
! h9 p8 Y' Y# N; d, H/ l  ca! [, n; w+ S" b1 Q" N
  crt 5 * num_of_building5 K( |7 j# u% I) k( s  a5 X3 n
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
( p2 S! D4 W# c( P9 n  scatter     ;;keep center-turtle random positions
$ b7 V% G( ~, ?' k  unit_plan   ;;make up the building plan, o& |5 Q3 D+ _2 W5 Y
end
5 @2 z/ X/ Y5 }0 oto scatter6 W* E. a/ P# M# A1 N7 T
ask turtles with [remainder who 5 = 0]! i2 r; u" q8 k! M: d
[2 W- |" B  q6 @* m/ m- W; r3 u( J
set xcor xcor - 6 + random-float 15
/ s( F8 J0 R5 t& t4 c+ Q1 Sset ycor ycor - 6 + random-float 15) ^/ I1 Y8 a( ~" E2 P9 S- d
]
4 z( U4 j( f% n& t# W2 Cend
" R9 _. B! j1 J; {to unit_plan
6 y' i/ O, O" Oask turtles [
; T8 f9 f0 D% K1 ?9 M4 I5 Pif (remainder who 5 = 1) [set a who
: x; `) H' z- G7 D                          set x ( 0 - Wid / 2 ) ' s1 |4 K5 c) b
                          set y  Dep / 2 ]/ }& W1 W9 Y; w. P3 b
           set b  int (a / 5) * 5
" w7 f0 M0 @9 ]7 C% t& I0 h# u0 u% g    setxy ( xcor-of turtle b + x )
$ n. f# N5 f& G* Z          ( ycor-of turtle b + y )
$ @1 H$ j6 b  _% d9 W+ Cif (remainder who 5 = 2) [set c who
: O6 k$ w/ b! ^4 K, `" V; N                          set x ( 0 - Wid / 2 ) 7 a9 }! K: G3 @+ ~0 w7 \+ r/ m
                          set y (0 - Dep / 2 )  ]" ~- e, I4 n0 y$ G" _: s! w' P% \' C
                          set d int (c / 5) * 5
) b6 d% E5 C% d, A9 l   setxy   ( xcor-of turtle d + x )5 m# [, O+ `; o* y  n# K1 j
           (ycor-of turtle d + y )
, A. D6 q4 b; U% U+ M         
" M4 o4 h0 F$ _- x1 U( b            
/ d7 p# @$ N% O4 Hif (remainder who 5 = 3) [set k who, K! Z! t  N, v1 ^8 k# v
                          set x( Wid / 2)  9 ^, u! _" e/ q. K4 L4 p# q
                          set y (0 - Dep / 2 ) ]
: I+ e+ |  t3 }. G8 ?& q                          set f int (k / 5) * 54 h# j- r- W, X. W+ g+ h4 N
  setxy   ( xcor-of turtle f + x )
( R% S/ ]3 D  N4 ?  @$ ?           (ycor-of turtle f + y ) 2 w( D( N3 D$ {3 f
           
' t* u5 O# ~& _2 z! @2 V           6 f- o0 e! `( T, \1 P
if (remainder who 5 = 4) [set g who6 [7 K: I0 c! A! r& j
                          set x Wid / 2
# r: I& M* ^+ Y; e0 ]3 B                          set y  Dep / 2 ], q! [& J9 g2 t  [
                          set h  int (g / 5) * 5
5 k* b7 }3 a% f. P  setxy   ( xcor-of turtle h + x )* K4 f. {+ ~: _, ?& O9 z
           (ycor-of turtle h + y )
( N+ k. S% O4 w% Y9 o+ f2 C) W  J4 [                          ! [' x) T. w. _9 r+ W
                          . I  g  Y7 u  K( D4 j, D3 s
                          ]  y/ v3 P5 U+ f0 F6 G
end
6 e0 v3 o7 _& i2 H% V/ Q, }! w* q, G  @, Y- U7 v8 M
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
, f, j- p+ U, p' \% F; {& a: V应该是
) ^# L+ Z$ t0 D) {+ }3 Uask turtles [, D- n+ j7 H+ }6 y1 r  r; k; {
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) W$ @8 c$ R: W( x4 M+ u' Y
                          set y  Dep / 2
3 @' \3 R8 H  l+ T3 G5 v( @           set b  int (who / 5) * 5" Z9 N9 z0 F$ c! u- V+ |
    setxy ( xcor-of turtle b + x )6 D( C# P) R4 h3 ~4 r* F
          ( ycor-of turtle b + y )]]
" N: q& O( Q4 f$ `end
8 c7 m  X+ {  f, Y. Q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-10 21:29 , Processed in 0.013095 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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