设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8227|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
3 N2 O9 t7 ?: @: E; n
* y$ f  Q/ a( ?但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
: t* z5 [& v, m: P8 C8 b2 j
, I  g; g1 t: `, Hturtles-own [a b c d k f g h
$ p% P: }2 W1 O8 O  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ' c9 C3 z. e' I4 [
]' H' n+ q+ A" b9 i) U) X% U
to new
3 ~: A7 O2 H" y9 v, Q  ca' S) y$ P% ^# R( g' H6 D1 Y
  crt 5 * num_of_building
; j+ {: G+ w: B$ _: o+ s, M  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. T& L& F" S# u& p7 f* t( H
  scatter     ;;keep center-turtle random positions
% ~- u! o! b0 t- Z) T% ]  unit_plan   ;;make up the building plan% y' ?/ d9 E6 Z. a4 q
end
8 {8 V2 R, c9 E( q# }to scatter
, t: }6 C$ ]% S5 W3 o" e2 m. mask turtles with [remainder who 5 = 0]+ R+ d/ M8 S% G3 J' B! O  [
[+ u  V* Z( Z' n+ W/ K
set xcor xcor - 6 + random-float 15
, x$ t4 j' q8 u' a5 U8 K7 \6 H( oset ycor ycor - 6 + random-float 15
) U3 c# {+ D( F6 M; \3 x0 G]
( E/ a- m/ C+ C; i! Cend/ n1 f) Z$ }% {3 P) _, x6 ]
to unit_plan
5 h  h, h5 r# D; E+ bask turtles [4 {8 \4 C/ L1 ?
if (remainder who 5 = 1) [set a who % T0 O1 @3 g9 t+ |- R6 N
                          set x ( 0 - Wid / 2 ) $ o1 K* B  C7 e  E8 j
                          set y  Dep / 2 ]
+ a( O# N" T8 [! {6 q. D# F- u# u  Z           set b  int (a / 5) * 5
6 Z) r% l# M1 l! s5 d/ s    setxy ( xcor-of turtle b + x )8 A# j- @# y+ b1 F6 e' \; n! a/ w
          ( ycor-of turtle b + y )" L* P6 P8 D% j8 o* V
if (remainder who 5 = 2) [set c who
0 j9 v4 S- |+ }6 p- o                          set x ( 0 - Wid / 2 )
9 s# S4 g9 F* r  G                          set y (0 - Dep / 2 )  ]+ H' [7 |2 n/ k- t- [3 D, z. B
                          set d int (c / 5) * 5, `* n. @5 \7 m( d
   setxy   ( xcor-of turtle d + x )
% Z5 C6 b) Y) K3 h' S- |1 O, a* y           (ycor-of turtle d + y )
& B+ t8 X. W) v0 ?  I. |6 G         
4 ~1 a, u4 v+ P) E2 W            
6 Q  K" D! F% N( [2 Bif (remainder who 5 = 3) [set k who6 @( g  d0 k, f; g* u8 J" n
                          set x( Wid / 2)  ( ]+ a5 d% x  y( y- k
                          set y (0 - Dep / 2 ) ]3 @) `' S* q/ }6 c1 x
                          set f int (k / 5) * 5
( X8 @: o( w& ?. w3 w& A: N  setxy   ( xcor-of turtle f + x )
* V9 T9 y6 b3 W/ l           (ycor-of turtle f + y ) 2 h" t/ {$ k; O( f' D
           
0 ?: J5 J, b3 j0 u- Q# m3 ^; A           
6 m) \/ u7 x; @' J2 W8 hif (remainder who 5 = 4) [set g who; n% @  q) u8 Q7 O3 z4 m' X
                          set x Wid / 2 # Q+ \/ y$ {! m) Z
                          set y  Dep / 2 ]
7 l2 d6 F- k$ }% ^; x: D7 Z( v. H                          set h  int (g / 5) * 5
. g2 u0 z% o. K0 H  setxy   ( xcor-of turtle h + x )
# o8 o' q4 M1 U9 t" k           (ycor-of turtle h + y )
" z$ L! u+ L& M4 ~: Q                          ! G& f3 J4 H' R4 Q2 z; S; c
                          8 T' P: P7 F3 e: w6 K  h
                          ]8 [. Q, M$ Z: z* R2 e
end
7 y) T/ ~$ w. G9 h& U$ \9 C( P1 h3 U2 m+ o9 v. c) v, C
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
8 H* }+ X! V# F2 x% M. E$ Y应该是
+ n. g+ \6 x) Q7 D/ Lask turtles [  C) Z- ~8 B- F2 [- y
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
! m3 K9 L( @& T& O5 ^! [                          set y  Dep / 2
3 w7 b5 G3 r5 d$ U3 V           set b  int (who / 5) * 5$ v4 q8 S8 h8 \2 Y8 @7 a' ^7 e) I$ P
    setxy ( xcor-of turtle b + x )
9 e* c0 @4 x2 ~          ( ycor-of turtle b + y )]]
- C+ P! Y- R1 I' aend& F5 i/ L' T! C6 `5 C
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-21 09:04 , Processed in 0.022485 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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