设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8960|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
2 G- L6 y" c6 R) ^  e
: B2 I9 D  c0 y( g  S; |$ \但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
) P  w& B& C, O/ E* l: L+ r- C
- Y9 M0 e1 _: q( x4 w# w! g: T% h6 Gturtles-own [a b c d k f g h
1 M. ^! B% U% g  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
1 r! O5 [) n7 s* K" j]
# A) H( ]4 p2 E: H/ pto new, \: ~! M: m9 |
  ca  |6 Z( O# i2 G3 C
  crt 5 * num_of_building
, A2 A! R' H0 I4 y9 b1 V' d  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]$ i  j% E. S; f! i) P
  scatter     ;;keep center-turtle random positions $ Z3 I: I! b( B( U9 `9 \2 b4 M( Q
  unit_plan   ;;make up the building plan0 j5 Y  C7 _; a7 d
end
9 w# g' O& }+ L" ~& k' ito scatter
! Q  t# ?8 R, K+ Hask turtles with [remainder who 5 = 0]
9 L/ G+ N1 G# ~& B& B[$ j, y6 e8 `; l" X, {* k
set xcor xcor - 6 + random-float 15, c/ @" p# `" a
set ycor ycor - 6 + random-float 155 k6 }; I! r* i) K
]. x, c) [8 f0 }3 j9 `
end
, U' C; {" a/ R: N- ?. {! R! X/ ?to unit_plan 5 V; X- @8 V2 b$ Y% \+ _) s7 T
ask turtles [
* x4 m2 Q/ `0 o% L) K+ }if (remainder who 5 = 1) [set a who
/ L/ U+ y4 a" |3 f4 h" u4 b  A; ]) U                          set x ( 0 - Wid / 2 ) & w9 w+ u1 j  H$ j; v! X
                          set y  Dep / 2 ]# E4 \) h1 m0 I
           set b  int (a / 5) * 5
, @+ ^' X# f% w$ `1 {7 R    setxy ( xcor-of turtle b + x )
$ o3 N0 S4 B7 ~7 J# n          ( ycor-of turtle b + y )! O( N4 U/ E7 j/ Q3 T' w: B$ e
if (remainder who 5 = 2) [set c who
. d. M/ {. D, M, p                          set x ( 0 - Wid / 2 ) 4 R; |8 T9 {, e- c
                          set y (0 - Dep / 2 )  ]
: n: f0 w( i% m+ K' d' g                          set d int (c / 5) * 5$ b7 b. q4 w% f  `# z
   setxy   ( xcor-of turtle d + x )
" q3 r# ?( e$ v: n' }6 M3 H           (ycor-of turtle d + y ) + f5 ?1 R9 b6 v# R
         
! `0 X: Z7 H6 E* W2 P3 T# B9 E            4 t7 L/ T# r  f' W1 O
if (remainder who 5 = 3) [set k who; F+ B! \% q0 X% H. J- j+ l
                          set x( Wid / 2)  
3 I5 m9 k( w& @9 q, O6 H' B                          set y (0 - Dep / 2 ) ]
; f# ~) {7 ]/ Q$ y+ E% Q                          set f int (k / 5) * 5% w9 f8 c1 L( H( I5 {9 k$ s
  setxy   ( xcor-of turtle f + x )
; \3 T9 q; h0 z3 Z           (ycor-of turtle f + y ) 3 N' t3 J; b, G2 E6 v/ e
           
: g8 k: k3 @6 @* e0 J           ! y9 E4 g. Y9 Z* K; q
if (remainder who 5 = 4) [set g who% o. f" B1 x0 {$ K1 s+ @+ j
                          set x Wid / 2 ; F$ O: C0 _0 r0 y$ o# Y
                          set y  Dep / 2 ]
% S1 ~2 q/ M3 t$ f                          set h  int (g / 5) * 5
. e! F6 J! E) c8 {6 B8 {3 Z  setxy   ( xcor-of turtle h + x )
- u3 Q4 S/ G) u) p* T$ p           (ycor-of turtle h + y ) 2 E, D$ B4 }: I
                          % U; l( u6 g4 N4 i
                          1 N3 @" W/ R9 b
                          ]
* w8 F/ b% g, ]( Z  F; N4 S; Z% u, Uend
8 }+ q4 }7 F  I1 D3 b6 f2 U; G
7 w4 y8 _0 {0 _9 ~5 C* K[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
0 l) @7 n$ E% e8 d* |6 p5 p# k1 c; a应该是- v! ?( Q: z  E7 X1 A& s- p$ @
ask turtles [
( V/ j8 C8 V# B/ ]* ~if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
) A( G4 Q& D7 Z/ \$ ~/ M/ r                          set y  Dep / 2 ' w4 Y) J9 r' ~' \1 S+ Z) r' c$ J) o  v
           set b  int (who / 5) * 5
0 Z  P+ v6 |0 r    setxy ( xcor-of turtle b + x )
6 Z# F! _" ?8 ~& u( [/ l          ( ycor-of turtle b + y )]]9 q& R+ k9 X: q4 \% r
end$ o4 g5 R2 i, D% k* E7 Z0 Q
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-31 00:30 , Processed in 0.021008 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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