设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8739|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
' z& b% Y5 y2 I$ D. k& l* A4 N! i$ S" k) c  _
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。8 {' x: G  e: ]8 ?3 N  S
; D2 F. n% p9 }! B& I
turtles-own [a b c d k f g h- ~* f4 V0 k, a1 C, B% x
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 8 G0 G, U9 z# E/ [6 R5 R) ?
]
" E. K* X$ r& g; |- x% gto new% _2 t% _$ h. T0 I; d, p4 f
  ca
+ j) s# B  m  M  z6 x2 H) e/ s  crt 5 * num_of_building
1 `5 i8 v1 p; [9 p9 R3 ?5 |% s6 W% V  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]0 H7 |( g/ Z  w9 I
  scatter     ;;keep center-turtle random positions - [  V4 E) q' p9 V
  unit_plan   ;;make up the building plan
) e  O/ ^) ?! S: b( send" E/ _+ m% u) X" E9 g( }5 l
to scatter
8 `* |- b+ D$ w) Vask turtles with [remainder who 5 = 0]" b; j9 x" V2 a# O) w( u1 q
[; }. `& Y( @  j- @$ g6 z! i
set xcor xcor - 6 + random-float 15
& U8 }* Z6 v) ?3 }# \1 k: U/ pset ycor ycor - 6 + random-float 157 i" H8 S/ A8 ?, }8 ]/ Z6 n0 a
], J+ p5 U6 T9 }; P% b, d  Y
end
& G3 }0 Y; M7 R% V5 t, C( yto unit_plan
- g  O1 t/ ~6 ?" |2 _ask turtles [
2 }, z2 a9 K& _- x( E4 o! y) Q% pif (remainder who 5 = 1) [set a who
0 z  h6 P* R, Q1 q- V# n3 V                          set x ( 0 - Wid / 2 )
1 s. [& M* t8 k- Q" n% i% F                          set y  Dep / 2 ]
: |1 {0 G) R/ ]5 K* `1 }           set b  int (a / 5) * 5
( p0 C9 ^2 f! L3 \; I) ^- `: Z    setxy ( xcor-of turtle b + x )7 \, o) V/ j2 W0 N
          ( ycor-of turtle b + y ): Q; K% R: H) Z0 z: E  X' p
if (remainder who 5 = 2) [set c who
: z" r* N: e& k( I' B                          set x ( 0 - Wid / 2 )
9 V- d# S4 l, m                          set y (0 - Dep / 2 )  ]2 Z$ A6 x; H' B& k( o
                          set d int (c / 5) * 5: \1 S* U4 u4 @$ r
   setxy   ( xcor-of turtle d + x )
3 Q8 r+ G( }# @$ I" {9 T           (ycor-of turtle d + y )
% f) M" ^  q# e, k7 R. H          3 ^0 ?3 Z! p' k! `
            & z$ X  `/ m, p8 r$ `
if (remainder who 5 = 3) [set k who4 G$ ~* i  v, C/ ?! h. K% o
                          set x( Wid / 2)  
) K+ \5 k7 d8 `  y: K1 l( q                          set y (0 - Dep / 2 ) ]
/ @6 K8 S9 \* \4 y# y' @! |                          set f int (k / 5) * 5
! G, x, m: Q% ]0 X6 O& }  setxy   ( xcor-of turtle f + x )
& d. ]# d" h% A, r4 Z2 y7 |           (ycor-of turtle f + y ) " g. i' y( x7 {5 W
           6 E' l  W3 o- L
           - L3 P( u$ V) a
if (remainder who 5 = 4) [set g who
/ u/ C) q: l5 ^                          set x Wid / 2 % h: k- e5 U0 l3 T; W7 N7 }
                          set y  Dep / 2 ]
9 z1 @! v/ f0 ~$ n! C* F4 H                          set h  int (g / 5) * 5, W- {  m- }3 l2 ^( \5 I( b' p
  setxy   ( xcor-of turtle h + x )2 r( s$ s. |" p6 E+ X: V6 u* L$ G
           (ycor-of turtle h + y ) ! D' _+ H$ I6 g9 S4 x  Y+ q1 ?
                          ! J+ |! [2 n$ r' W. \+ {) Q, B; U" q% o
                          
3 A- N+ L8 ~( T9 V                          ]
! D/ C- H3 g8 z8 ?6 ^end
" S, T( f; o" ]/ w  j* G; Q5 S% Q
$ n# b+ F4 E5 D2 P2 g: n  Q9 A[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
8 u1 C. L" L2 V# d& |" u5 D应该是
  d2 A$ B( V5 i. j0 \ask turtles [- v1 u+ g. K2 p4 P
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 0 p7 x! w) k, x4 f
                          set y  Dep / 2
! ?$ f, w" w% {* `+ Y- ]2 W           set b  int (who / 5) * 5
4 e4 X6 e0 t( ]/ \7 R2 N    setxy ( xcor-of turtle b + x )
. U" \& F' }, U& }! [          ( ycor-of turtle b + y )]]% z) ~, n( p+ m. F
end
' y0 d* D6 w+ Q: H( s' D% ^7 W之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-30 23:09 , Processed in 0.016269 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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