设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8312|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& N6 t, n; v3 i5 L$ G* ?* V* h
. M7 a% K% T; @
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
  R, o5 s2 ^1 }3 C: Y( ?* R9 h$ q3 U. o) f5 u9 O- }* A
turtles-own [a b c d k f g h- w. @1 S; {6 E. C6 G
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) \( d$ x+ o) b! j) }( ^]
, \* Q! l, X1 z( Tto new
+ A5 B7 k6 l. D  ca: o- W( S* q8 r/ J2 b" r
  crt 5 * num_of_building
5 {+ }8 F' g+ @5 h  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]! r' t! u2 l+ g
  scatter     ;;keep center-turtle random positions
1 L* U3 p& e: Q" P" B$ T  unit_plan   ;;make up the building plan) _  ~) g2 s  h, [7 Q5 A
end
5 u5 u/ m' J' j5 ]; `( Z: Ato scatter
9 I7 x  ]! t  j2 sask turtles with [remainder who 5 = 0]5 I% m5 l* ?: P3 k8 G
[4 \' U9 V# {9 P
set xcor xcor - 6 + random-float 154 {/ {: A" S% l! j( b8 \
set ycor ycor - 6 + random-float 15$ d" p. h* h2 ]; E! n9 b0 T( F
]5 S+ g* [; C$ }5 C1 e0 E* {
end
4 p' Z5 i% v+ r& u0 @2 n" W" z& ~' ?to unit_plan
0 G5 z- H' p8 B+ V/ l9 ?& gask turtles [) F% p4 x% }$ q& x$ Q' ~- V
if (remainder who 5 = 1) [set a who
9 R" ]+ b8 h1 S% N3 @, w                          set x ( 0 - Wid / 2 )
  W1 Z% @" W6 g                          set y  Dep / 2 ]
% R5 \9 ]- J3 N           set b  int (a / 5) * 5
3 C2 ~* E6 U, c7 B5 \6 \. d+ d/ F3 G% ~    setxy ( xcor-of turtle b + x )
* r% F, q4 x! s# l: _4 C          ( ycor-of turtle b + y )/ @3 A3 R8 |4 o  W" T7 I4 c9 s
if (remainder who 5 = 2) [set c who
  }" z: ~7 X- A9 U9 x2 u                          set x ( 0 - Wid / 2 )
& |' n5 X) J% Q                          set y (0 - Dep / 2 )  ]- J( P9 ?: M' X5 [, G9 C3 a4 ?
                          set d int (c / 5) * 5
5 b7 u- K4 n4 D' U3 o   setxy   ( xcor-of turtle d + x )3 J3 P' B' t4 O( B) o$ M! x
           (ycor-of turtle d + y )
7 i4 e* m& _3 t# K; b          7 h5 f! H& S6 g) x6 r
            
2 `3 Z# ?+ F3 v7 T5 z9 J3 n& iif (remainder who 5 = 3) [set k who
2 p- M4 Y' w( p, Y* O  Y                          set x( Wid / 2)  & @& W( `0 S1 v4 o' n
                          set y (0 - Dep / 2 ) ]
/ b# ^; _3 ]3 m5 R) ^% q                          set f int (k / 5) * 5# `) F5 t/ ?0 ~( b& U, t& u3 y. [0 a
  setxy   ( xcor-of turtle f + x )& ?8 C$ T8 ~# s3 s4 h
           (ycor-of turtle f + y ) " k% @- I) {* M
           
- R) }' \* Q  D; b6 R& r# l           . t- V9 |" x- t- S
if (remainder who 5 = 4) [set g who
+ [0 m% a% T' R                          set x Wid / 2
" D7 Z. m& s# a+ `5 y5 ~; l. @. K                          set y  Dep / 2 ]
* {* V" H6 O, t* ]7 d1 A2 l                          set h  int (g / 5) * 5
7 W7 V8 s9 H7 S  setxy   ( xcor-of turtle h + x )
/ R) I  V; x5 \) y* q4 v3 K1 i           (ycor-of turtle h + y ) 7 k8 p+ R! f$ a1 P* j6 I
                          + x0 Q7 @+ ^+ [* I$ r9 u5 y; r
                          
4 Y1 m8 F/ ]$ y6 F) l8 o( b                          ]
- c2 _) G: p, Z: I0 E. }# tend
2 S+ S/ }; q( Y
2 @/ ^  F9 Q5 c6 q' A- h7 o& F[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
- W0 X- v2 M& S7 E+ I# Q  w: R7 R4 ^: i应该是; d7 ^5 l& k3 }/ ]! e
ask turtles [6 z/ ~6 Y( E+ D# y7 O) v
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
1 c! B$ T& V* Q- Q" V                          set y  Dep / 2 0 m$ K1 g, U  {- ?( h
           set b  int (who / 5) * 5
4 s0 f1 o6 |4 `/ ^9 X    setxy ( xcor-of turtle b + x )3 z4 l1 ^7 d, x) g* k# Y
          ( ycor-of turtle b + y )]]# Z6 y) @) Y/ z. W6 P' U' Y
end" N3 e$ d* ?( ?' c
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-5 03:43 , Processed in 0.013469 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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