设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9080|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。6 n' r. E5 R5 z' W: c: G

/ P+ w) \6 `+ e+ x& _但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。6 N8 M, e+ `% x' J; P2 p

0 Z- U$ }1 H  [' E+ |) Bturtles-own [a b c d k f g h& k; K+ u2 ^8 _2 r
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle % i" D  A3 e$ ~% v7 V1 N; j
]; r6 Q- T! S2 l; C& J
to new% ]( P( |3 J8 Y" P0 A7 [8 Y: X0 _
  ca
4 N) @" f: d- v  y/ S+ @  crt 5 * num_of_building) p$ W/ h$ i  z- ^; O2 l
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 o' V8 q6 F$ Z+ Y4 u6 U" s  scatter     ;;keep center-turtle random positions ' A# M) l1 a; k5 ?; F- I3 q
  unit_plan   ;;make up the building plan
! s2 m' Z0 x, E! W% gend% g6 G4 Z8 Y2 T, p# \; C" K9 y, C
to scatter* \+ m% L# n  f
ask turtles with [remainder who 5 = 0]
2 ^2 f: b0 s6 s. i% j[
' x8 |: _) y8 Y% v. R  {7 Yset xcor xcor - 6 + random-float 15
: C/ q- ?; x6 M- h) iset ycor ycor - 6 + random-float 151 I/ [; x* N  p
]
/ d! v, ^5 H/ pend4 \* i/ Q, K2 y% K3 X" U; l+ A
to unit_plan 4 E, @% s. k! E" ^/ k
ask turtles [
. x( J2 h, g' k7 y. @if (remainder who 5 = 1) [set a who / N9 X7 |0 q+ o+ T% P* {8 X
                          set x ( 0 - Wid / 2 )
0 y" x; _# n' I$ G; {9 q                          set y  Dep / 2 ]& X0 i9 Q) }5 N9 V3 y
           set b  int (a / 5) * 5
) z; y# r2 m; o! D! t5 T) P2 ~    setxy ( xcor-of turtle b + x )
+ Z# ]& _1 {+ _( O8 N/ n          ( ycor-of turtle b + y ), ]3 a2 o9 [! x' `
if (remainder who 5 = 2) [set c who3 H+ `# Z: A' v  n1 B  T
                          set x ( 0 - Wid / 2 )
: L. J& W4 o4 `* o+ @( B                          set y (0 - Dep / 2 )  ]
% r* ]+ i% I$ E& a( Z. E                          set d int (c / 5) * 5
3 j& |  \9 }* d- M6 z4 ~, `# n& {% J   setxy   ( xcor-of turtle d + x )
4 H. H8 j* f# a9 k! _; z           (ycor-of turtle d + y ) $ b3 [1 o* t; r/ X. a! d8 |) L+ e
          4 E0 `- Y! @& C" u
            
2 |. ^, N7 H$ {4 P5 P3 J" z* ]if (remainder who 5 = 3) [set k who0 P; o. i* L1 v. n/ T
                          set x( Wid / 2)  % p. C  e  l2 I6 D9 P4 Z1 s
                          set y (0 - Dep / 2 ) ]
( c3 w3 u$ ^* }: j/ }8 w                          set f int (k / 5) * 5
. a( a  F; w+ J% _" X  setxy   ( xcor-of turtle f + x )! n; J' A  \! P7 Y# k& Y6 K, N. i
           (ycor-of turtle f + y )
2 P+ w$ D5 f+ `9 A' X/ z0 x3 X% {# C           1 L3 f5 R, }8 B3 N
           - n$ _1 G2 C8 E  ~1 Z  K, X) r- _
if (remainder who 5 = 4) [set g who: A* z* Y$ C6 d2 b; ?# ~
                          set x Wid / 2
2 N3 g7 R  S% W4 w4 g                          set y  Dep / 2 ]! T# m* T4 O" q6 c2 n; @9 I
                          set h  int (g / 5) * 5( N4 r0 r! @/ ]  i
  setxy   ( xcor-of turtle h + x )" t$ y' n. m/ N6 s9 {
           (ycor-of turtle h + y ) , M- C+ h- s) c
                          
# S- Z- y& v8 e' ^: ?" ?* ~: a                          
/ z4 t# P" T' P3 y                          ]
( x* _, k' G! {6 ?5 b4 x3 Gend/ ?, v! t/ Y, R$ ~
/ V' \  C& o& R
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,4 @& [' o9 `; w9 a1 ~
应该是
8 Q. C7 z; n" a0 e% dask turtles [
9 u/ f3 x' W: e3 u; r7 ]: o2 ?; hif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
" u) o+ |1 o4 J+ w                          set y  Dep / 2
% y( a2 n5 K( [" |. ?+ O           set b  int (who / 5) * 5  _6 ?6 K- P7 C8 }8 ?
    setxy ( xcor-of turtle b + x )
$ A, C6 L/ Z! k6 Y* Y3 A          ( ycor-of turtle b + y )]]
0 F1 h% c* i) i$ eend
: _/ v1 x  [& Z. P; s之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-15 13:16 , Processed in 0.013677 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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