设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7543|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
1 H2 Z$ H1 _; K
4 z, y3 @! ^1 N8 {4 n+ H1 y但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。: {+ m: `" |; ~  D. l) W
8 ~( \( `" G7 l
turtles-own [a b c d k f g h0 S7 e8 c, F2 _/ t4 c: G+ D
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
9 ~$ E1 n, a8 _0 [: v# \* u" P]
* W) U# E1 o" d( ?; oto new! q  e. j% e# n7 D8 Q" d
  ca# E% v0 P0 l0 q
  crt 5 * num_of_building6 G- @2 G3 Z# v  v- p) j6 I# r$ e6 a6 |
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. z! j- r8 B  A* L; Z  I; Z
  scatter     ;;keep center-turtle random positions   G! L7 j& H% {
  unit_plan   ;;make up the building plan
2 l1 a% X6 c1 G6 n' n8 Uend) {% c! U6 }$ k3 l3 Q+ m
to scatter
# ]" l, r* z/ |' t* }" wask turtles with [remainder who 5 = 0]
' [$ M3 {2 F4 K$ \$ U/ Y% z[; K0 s+ o, w0 W( i5 c8 `
set xcor xcor - 6 + random-float 15
" `0 @# O2 T/ e* J) c, Wset ycor ycor - 6 + random-float 15
: L, l7 ~* J% p! ^% l]: P' m2 e+ r7 h/ ^6 x* {" P' `
end/ j  b9 [" l% _
to unit_plan , X# {9 ]. M6 M& d7 {  n! N1 M
ask turtles [9 F, R. h2 L9 f* Q. v
if (remainder who 5 = 1) [set a who
! e6 a: l' O4 H* W+ Q) l                          set x ( 0 - Wid / 2 ) % O( @4 Q* l, H1 i" a
                          set y  Dep / 2 ]# p. j; R; G2 m/ q' R* B
           set b  int (a / 5) * 5, E% [4 J1 G* ^, x0 h8 T# ^
    setxy ( xcor-of turtle b + x )
0 J! @! I% E3 [. P) I/ y7 g2 V          ( ycor-of turtle b + y )
2 Y/ ?( W; F3 o6 T6 v/ f* g7 |if (remainder who 5 = 2) [set c who
" N6 \! ?! ^3 m" H3 a1 n; E                          set x ( 0 - Wid / 2 )
8 s2 i2 d( {) J+ u3 B$ v3 f% u; e2 Q                          set y (0 - Dep / 2 )  ]. B' Z, R- s  b7 b" `/ O4 u- k
                          set d int (c / 5) * 58 j* b( T2 j3 i4 f7 \
   setxy   ( xcor-of turtle d + x ). M7 M& o, @' Y" o3 a# O
           (ycor-of turtle d + y ) % y1 t( L& U( L! |) t' E  W
         
& F: f. L% G: X# n  a: e            6 a$ q- _  {  J4 k" k& \( H3 X. v
if (remainder who 5 = 3) [set k who
& V2 j  P: ^7 l( C                          set x( Wid / 2)  + E' i/ @* A  P$ }" T% S
                          set y (0 - Dep / 2 ) ]
$ ?# _7 z5 A$ v) L7 ?4 O  B                          set f int (k / 5) * 5
- |5 Z+ c  s2 {9 g& `) z  setxy   ( xcor-of turtle f + x )/ o/ `$ i0 E1 o1 G' z" P
           (ycor-of turtle f + y ) ! r  G* {% x8 S7 E  e; C8 g
           
% S3 y1 n+ c8 W- b, |& P2 L7 j           $ E) i& K# E( q" ~
if (remainder who 5 = 4) [set g who7 t3 x% j! f6 M( l/ ~
                          set x Wid / 2 ! u& t% D- w% B9 B
                          set y  Dep / 2 ]
& H5 z5 f( @2 z0 N5 R- S                          set h  int (g / 5) * 5! Y9 P6 i' ^/ X$ e& H
  setxy   ( xcor-of turtle h + x )
/ ]& c0 C, u6 b6 t2 \           (ycor-of turtle h + y )
3 g+ a2 a$ _, Q                          " E, i& k+ e9 c$ t
                          
! M' E. D7 R; `6 [; w. S. t                          ]
" h. U3 C5 H% eend4 L" s4 H, ]" _  \0 [
1 G% P9 L! \) D" [
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,. G# D. W* Y, P7 C
应该是2 t; G% W% E/ g: z# [
ask turtles [
' e6 x+ g. d$ z3 C5 W$ b5 p2 P1 r7 Xif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) % q  J. m" @2 a$ `4 c7 U
                          set y  Dep / 2
9 K: J% S$ S! |9 t% y           set b  int (who / 5) * 5) d% c/ V5 }+ \/ [4 N
    setxy ( xcor-of turtle b + x )% j4 J% q. S% ^) y: A  j- G
          ( ycor-of turtle b + y )]]
+ _: M; M4 z/ E2 z2 J# D, Lend
6 ]3 d8 y1 x5 ~' F3 B) k之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-24 16:53 , Processed in 0.019083 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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