设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8008|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。0 p& \- }% u7 C2 k% i
9 s4 ?4 v# o" n4 E9 _. }/ T
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' |: k2 D5 H8 F2 x* S
5 d, h/ Y5 j, N8 A6 K& s9 s# c
turtles-own [a b c d k f g h
; S+ G8 x7 {& o4 T' D! l  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
5 [' y& R6 F! M- D( v5 h, G]
/ I' E2 j) i% h7 S$ c& Pto new
) C$ n2 Q6 x# _4 N0 v/ \  ca
1 C, \# s- y7 I' B" \  crt 5 * num_of_building- v" E& s, L8 ~  v( t
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
: O% R6 D" P" `  }  U7 q/ `' Q  scatter     ;;keep center-turtle random positions + W. N" @. _6 t) H6 }
  unit_plan   ;;make up the building plan0 h# x7 H% q2 F+ x0 f  L) e( O
end, M/ ~# X9 n  O8 p2 x7 W3 U0 e
to scatter
4 O; e( ~) {/ P! ]8 S* {1 m! Dask turtles with [remainder who 5 = 0]
* g+ C( G, D7 m3 |# k- `[. v/ G5 W" \: c& g: n
set xcor xcor - 6 + random-float 15
: \6 ~& W) y% p9 _set ycor ycor - 6 + random-float 15
% L( s$ e5 [) _0 I]
5 N! F! h* [* }& \4 f) r6 J" Nend
" \6 m. I- b4 ]' r8 D8 C/ Q: ?/ Dto unit_plan * G; f4 Z. m+ T, |4 L6 C% C1 |" ?
ask turtles [4 K$ k7 c' l3 N! V3 g6 u7 t4 u
if (remainder who 5 = 1) [set a who
! A+ p, O. D6 f5 m                          set x ( 0 - Wid / 2 ) ' `: H1 E4 Q- d( B, N8 w0 X
                          set y  Dep / 2 ]
( A6 K2 z3 R# v, j9 X& Q6 e) {           set b  int (a / 5) * 5
) ]  N  Z  E/ ?; s- m    setxy ( xcor-of turtle b + x )
2 j2 E" \6 A2 f( E3 L          ( ycor-of turtle b + y )) n0 k! n5 V% {" s, E! l5 u
if (remainder who 5 = 2) [set c who
( ]5 Z! i: m: G* Z9 l                          set x ( 0 - Wid / 2 ) ( H3 ~% I& l7 @3 I0 d
                          set y (0 - Dep / 2 )  ]
4 A7 t+ w8 V$ Z0 h* `                          set d int (c / 5) * 5/ S, V( L: P  f2 F/ Y# ?  @
   setxy   ( xcor-of turtle d + x ); v$ k! p9 }+ B. w. B
           (ycor-of turtle d + y )
+ p! h. Q; {! P, u          9 f: q* ]# H' t( E
            
% Y& P% S) v8 Q# z% S2 oif (remainder who 5 = 3) [set k who
. g) h# R% u8 q! y+ B' L5 b                          set x( Wid / 2)  
0 i4 L2 c6 w, Q1 \5 J. h! y                          set y (0 - Dep / 2 ) ]
$ k, r, z$ r1 o- {* q3 P. A                          set f int (k / 5) * 5
" a  E5 n9 C% c$ c! q9 @  setxy   ( xcor-of turtle f + x )
) z- ^% z. `2 M5 I0 k           (ycor-of turtle f + y ) ' w; v- d# }0 R0 B/ l$ \
           4 N( R4 f8 v; ]! H6 C
           ' ]: N+ e5 M, C% W
if (remainder who 5 = 4) [set g who
' V5 `% |4 B$ _4 T: H' D9 c                          set x Wid / 2 1 Z6 R7 |' N+ A$ k6 j
                          set y  Dep / 2 ]* Z$ w" x( K) d$ ?
                          set h  int (g / 5) * 5
7 q* x" ~% Q7 {3 G; x5 K  setxy   ( xcor-of turtle h + x )
+ o6 F: `+ a7 x7 ?% D0 G8 K           (ycor-of turtle h + y )
% a" D- L& N  r! B' G                          - u8 _) A4 P4 X9 }/ K; I/ g
                          ( N. {1 u( u2 E4 }
                          ]7 z! H/ X$ S5 S+ i% r2 g; f
end
( J- Y" N" @/ ]& o/ [) L; D% a
) i& X" i3 `5 Q& }, j[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! B) I# {0 z/ e1 t& D0 f
应该是) f7 s, Q, a1 R) x  u- j2 G
ask turtles [
# Q& n) p- N5 R5 f  |$ wif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
2 S5 J+ ^; H' y+ f6 M                          set y  Dep / 2
  Y- n$ i( N2 D           set b  int (who / 5) * 5
2 L# {& P) [. a: P0 P9 ]    setxy ( xcor-of turtle b + x )9 k% O4 n! F4 _4 `7 [9 e( ]
          ( ycor-of turtle b + y )]]
, n+ M% u( K# Q/ G0 H, a  w, Aend, L% b! E% P8 a4 }3 o. g
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-28 06:54 , Processed in 0.018049 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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