设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8351|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
) [( G7 u' z$ K! D0 }" h% w2 J4 O6 r
# Q, F3 x: \$ T1 Y9 c, s9 j" i5 j7 {但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。( E& e4 p+ m. e  c
. s7 W" }3 j# ^+ t4 ^9 @
turtles-own [a b c d k f g h
+ R8 |/ b# z/ D/ s$ H, P  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
" D, ~# Z" b5 O- c. K]
6 g% G( b) S% [8 V( v3 l- tto new0 [! W; W5 X9 R2 b2 P1 U% m# U2 b
  ca+ U. |- m% Y+ s) q
  crt 5 * num_of_building7 z3 H+ ]. ]6 |+ l" f3 s8 y
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]% x( U5 r7 p( {! T+ h7 v7 S" T+ a. D
  scatter     ;;keep center-turtle random positions & R, _& }% M' ?/ B# n* S
  unit_plan   ;;make up the building plan
. V( q0 u: e5 f; F* s; pend5 K& T- [- U( w1 r1 i
to scatter+ B0 d9 X9 \0 a
ask turtles with [remainder who 5 = 0], C2 \1 q# _. z9 \6 q/ ]2 i
[
- n# @3 u+ u: A0 @7 [+ mset xcor xcor - 6 + random-float 15+ h3 H- L+ D( Y( r7 v
set ycor ycor - 6 + random-float 15  e! A) F  h  T! X- i' T
]7 Y% s& U7 F6 O3 x' D" e
end+ A' d: i5 t* c* v3 h
to unit_plan
1 ^& I$ s# C  ~ask turtles [
5 Q: z- [" ~* k  B, }- tif (remainder who 5 = 1) [set a who
3 n% k7 u6 [# C' Q/ E' l                          set x ( 0 - Wid / 2 )
' A* r: z. w( x8 m4 U  F                          set y  Dep / 2 ]
1 S! u* x& Y5 f9 F! }+ W           set b  int (a / 5) * 5
* B; G, `# A1 l- `2 k/ k( B    setxy ( xcor-of turtle b + x )
  [, E& S3 ?8 }' b% J" [          ( ycor-of turtle b + y )) _7 i8 l+ F# U
if (remainder who 5 = 2) [set c who! K0 @" k3 Q+ _+ i' c. |  I
                          set x ( 0 - Wid / 2 )
  L7 n7 {: o6 p$ D0 b0 A; d                          set y (0 - Dep / 2 )  ]
$ U9 E) l* q# N- W; P                          set d int (c / 5) * 59 W: ]! U) t4 T7 C
   setxy   ( xcor-of turtle d + x )
& C$ X2 W: t6 r' H           (ycor-of turtle d + y )
3 S" t# T  l  d8 @4 V4 L+ p: q         
) W2 a& k1 _4 i3 |$ L8 q; z            & p/ c7 ?  k8 N- V* A% @
if (remainder who 5 = 3) [set k who
$ P" B0 W" H/ ^5 D6 Y1 o                          set x( Wid / 2)  , g, ]7 k; v$ P( g7 \2 k
                          set y (0 - Dep / 2 ) ]
" E# @/ t! ~9 L1 Y- [7 N8 h9 R  J                          set f int (k / 5) * 5' p. b; g1 e# s/ G
  setxy   ( xcor-of turtle f + x )
& V7 K$ w0 A, n: x           (ycor-of turtle f + y ) 2 g0 A/ G* A6 P; B
           # d7 B- g) N6 L% n0 O# Q  m, z
           
" j8 I! s0 }+ P  Vif (remainder who 5 = 4) [set g who
& n) l1 j) v  j7 `7 i                          set x Wid / 2 * c) r. {- ^3 \6 ^" s. l
                          set y  Dep / 2 ]8 ~5 C& A0 G0 ?( j$ j8 D
                          set h  int (g / 5) * 5( {4 Y" a6 c& @0 e& ^6 f. S% f
  setxy   ( xcor-of turtle h + x )! J3 E9 `3 t) N% _
           (ycor-of turtle h + y ) 9 o6 O/ `$ z6 H& }  y& r
                          ( y2 ]3 i# R" G2 Q8 W
                          
9 v3 V: \! _. [4 N                          ]
" j; V) n1 K0 C- Eend5 r/ l/ ~& e' A

* `( E$ r6 k8 ~9 D% w8 B[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- v: g" |- c- p
应该是- V+ N) z$ P0 g: \
ask turtles [8 m, W& `0 t; y
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) % d1 Q% o( O/ g8 b" }' y( S
                          set y  Dep / 2
4 [$ o6 v, F7 d! g" y5 P# W           set b  int (who / 5) * 5  Y6 s4 K* j& T: s% |
    setxy ( xcor-of turtle b + x )
, N8 h* [- I8 C          ( ycor-of turtle b + y )]]
( M8 y2 p8 s8 k1 h6 W1 }end: _: U" _5 \5 N" r% ]5 h
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-13 11:50 , Processed in 0.021284 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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