设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8418|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。1 I& W5 \4 g; e# G, U

+ M6 _3 \  u# v& V, v但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。5 X! }: {5 S9 H  Y+ s! O( Q
- W  z! |. K- N# @
turtles-own [a b c d k f g h
, W! T! F3 h! J0 o' x  x! ?/ Q& _  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 2 r1 q) }* k# }4 b2 j  D9 \
]
5 E$ u1 M1 X: Q3 j6 p( v, w6 \to new
6 t$ c6 e; H5 H1 w0 H. V  ca6 |& M0 e& O' }- E8 g0 G
  crt 5 * num_of_building
" `6 q) R7 ?1 i  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]; @  G. c: G8 L0 ^- N0 _3 X/ V
  scatter     ;;keep center-turtle random positions 5 m# G& D% {1 d- I  y* u  U
  unit_plan   ;;make up the building plan
4 g) \7 W" x- C" U7 E9 Nend
0 v& ^' V' \, o% C  M& i+ Ato scatter! T- P( I$ A' u% Z
ask turtles with [remainder who 5 = 0]9 S) D1 r7 F4 a/ Q, z! }7 _/ K
[
% b5 Y; v" {1 b' [, p" D; Gset xcor xcor - 6 + random-float 15
' c7 v) R8 Y7 i+ K, m; eset ycor ycor - 6 + random-float 15
. g  J# f% N# ]7 U- k; q]
- d: T. V6 F* ^0 Wend& ?0 `4 Q! u' @; k  x
to unit_plan
& _0 ]0 u2 J# E  sask turtles [1 y7 W  _3 K9 B: o7 ~6 H
if (remainder who 5 = 1) [set a who
# N( G/ i4 C- ?  o- F                          set x ( 0 - Wid / 2 ) 1 Z) J2 E+ J- A9 ]# G9 i! Z6 n6 f
                          set y  Dep / 2 ]% `1 {+ \6 s# X6 ?0 W7 B: C
           set b  int (a / 5) * 5
4 v) `; U7 g$ S3 C$ Z$ R# p- k    setxy ( xcor-of turtle b + x )+ R5 ~! C2 M  a: x% m# b0 x, x' u
          ( ycor-of turtle b + y )9 L3 c0 F5 x5 }
if (remainder who 5 = 2) [set c who
  E8 q1 p6 x: c% J$ d* Y                          set x ( 0 - Wid / 2 ) 4 J. a' S* A- r' j4 e! Z( ~, x: f; {
                          set y (0 - Dep / 2 )  ]
1 m" j0 t: T/ `% g; N1 |                          set d int (c / 5) * 5
% v; x7 i" G+ c* A! E! o. W' O   setxy   ( xcor-of turtle d + x )
) Y" ^2 j1 O3 C0 ]# f% D           (ycor-of turtle d + y )
7 V% V( B, h; b         
  {9 _7 x  m8 {: a4 P( V. E            - `9 n# h( {0 G- {( M! ]
if (remainder who 5 = 3) [set k who1 |+ ^! s+ N( p+ g4 Y
                          set x( Wid / 2)  
, ?* P. `( k/ e; {# G$ f3 d) _                          set y (0 - Dep / 2 ) ]
8 z6 r0 c: v$ B5 ^9 u& h8 K$ T                          set f int (k / 5) * 5
2 i  q& k* y3 @+ |3 b  setxy   ( xcor-of turtle f + x )
7 H( h0 ?, B; n, Y) l0 S4 x           (ycor-of turtle f + y ) 4 q/ ^# `# i' T8 E+ W. F$ [
           
0 n( E" b) I6 i, t9 ]           
8 \& |' \, G, sif (remainder who 5 = 4) [set g who- D* n  x! H% X) V2 R  b
                          set x Wid / 2
5 P. T. R+ g2 j# E, Z: x                          set y  Dep / 2 ]# t( v+ \/ g4 o3 N
                          set h  int (g / 5) * 5# _/ s1 K7 h. g- t/ }( a
  setxy   ( xcor-of turtle h + x )
2 R" t9 X' ^  O: R1 N6 F6 ^           (ycor-of turtle h + y )
% Q& F+ K% K' V' ]6 }+ a5 v" s                          
; X4 T: v8 B8 j8 s9 M+ J- O5 o                          
) E7 Z7 [' m. A6 S. y3 P                          ]5 [, g- V4 w- I, k; i
end
0 p( S9 M( R, v! Q2 y2 U2 E8 N! p
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 O  Z0 X8 U+ ~* X应该是
: K; c: W9 w+ ?% _6 _! bask turtles [6 A# {, Z0 D1 e. [/ j% r
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) + x' `; b2 s9 z3 T& m, z
                          set y  Dep / 2
/ ~% u. P. ~) l( q. f& O           set b  int (who / 5) * 5
# N# l, X7 D: F9 Q    setxy ( xcor-of turtle b + x )+ q9 }1 w9 G/ ~+ N4 l3 u! w
          ( ycor-of turtle b + y )]]
8 M+ [+ R8 s" v" tend3 P; W/ W) v1 z% b+ a4 d
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-24 10:15 , Processed in 0.039672 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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