设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7956|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
! |6 O6 P# }* c" w1 n" ^7 Y
' q; }' |% ?+ O" u, k' q但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% Y, E) U0 z$ d- b4 X) s% P3 s8 z$ a: K8 {; x
turtles-own [a b c d k f g h
  T, p5 y1 W  e( i; J+ D' H8 T# n  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 2 |7 G- ]% y/ S" X
]4 n2 e8 L; |6 _7 P. R4 k$ [
to new
  }% y# n6 p% `- J) ^' d. u  ca
  m4 [% ^  a$ u9 K4 k, u; ~8 j5 E  crt 5 * num_of_building
' h7 p# {- I& o$ C0 v0 k9 _  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]( W0 }6 y# `* U; s2 I* {; J, K
  scatter     ;;keep center-turtle random positions
3 Z! b" m5 H5 M' J5 h8 g  unit_plan   ;;make up the building plan. a: c2 F) c6 x0 P4 q
end+ r* M  h& Y9 B9 [% g* @7 Z, U
to scatter
& x5 }4 h1 c8 w* mask turtles with [remainder who 5 = 0]4 V4 R& p% l$ P
[$ a0 Q' k+ f& }0 Q* y# z
set xcor xcor - 6 + random-float 15
' {( ^: q" O" V6 Uset ycor ycor - 6 + random-float 15# i) L0 G& {& ]* c
]' W. Z. w, ?- H9 h
end
. |" }" K9 p3 A, Z$ W9 ^to unit_plan 2 V+ [( D2 B/ S( h! F2 f/ h
ask turtles [# i' |8 J$ Z& J6 [9 K
if (remainder who 5 = 1) [set a who
1 c5 z0 I* y5 a1 a; A0 g                          set x ( 0 - Wid / 2 )
( E7 I5 l, ?- `, o7 _" B                          set y  Dep / 2 ]
# z- B% c5 j" C: e           set b  int (a / 5) * 5
6 V4 o) m$ w# c' m    setxy ( xcor-of turtle b + x )& J, F0 Z+ V2 K+ N
          ( ycor-of turtle b + y )/ R6 w3 n& F+ x! A' |% F
if (remainder who 5 = 2) [set c who0 f# a/ K" L# t0 v7 \
                          set x ( 0 - Wid / 2 )
5 x4 ]/ n: n* H$ L' C" L                          set y (0 - Dep / 2 )  ]
7 R9 ^) |: h4 Q1 T                          set d int (c / 5) * 5- m( ^# _  M; k' y, p' u) g3 i
   setxy   ( xcor-of turtle d + x )' H9 ~8 K3 s( W6 L+ Z( O
           (ycor-of turtle d + y )
2 O5 f$ y9 e: T3 D- a; R  k          ; W2 u( P  h2 c2 B6 ^0 b
            
6 Y3 p& ?& `$ B2 \, |if (remainder who 5 = 3) [set k who
& K  ?' s1 g1 Z                          set x( Wid / 2)  " U3 v, s/ W) P$ U( }+ u3 C1 Y
                          set y (0 - Dep / 2 ) ]
, }/ [4 ~2 }" M                          set f int (k / 5) * 5
. v! h* H- O7 o  {  y# Y  setxy   ( xcor-of turtle f + x )
% I: e" |5 A/ s$ [8 J' l           (ycor-of turtle f + y )
0 k2 K& y$ V* q1 F! C/ \           ( P4 q' e. `. ]6 z9 x  }
           
$ f8 r( y/ S" H$ sif (remainder who 5 = 4) [set g who$ {7 S# }- q; v# a
                          set x Wid / 2 1 h7 N) ^- J& m) m7 g$ K; x
                          set y  Dep / 2 ]- ^3 z: c6 ]- {$ h/ j: Z' ^$ s, }3 P
                          set h  int (g / 5) * 50 o4 Z0 H+ A. @2 Q6 l9 H" j! g
  setxy   ( xcor-of turtle h + x )
, o0 m) R# i0 C9 L           (ycor-of turtle h + y )
/ W* A! W& D) S9 H                          : e+ U) }* o$ O) T* C3 L; P* u
                          
2 p: Y4 c, |# I# g                          ]" ]4 I$ \( C0 O! ~* k
end: {6 e9 o3 t! {7 {, j6 u* E. y  v

3 A( M# \0 e& J" N5 c[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,, Y0 e' ]" j( r4 C! d
应该是7 Z( F8 v3 u0 y; j3 X, f
ask turtles [0 O: L7 I# d  x+ L4 w6 Y* _
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
5 d/ l, \2 [! M+ d- [  g                          set y  Dep / 2
- L9 E1 ?) s  L3 }" N' B           set b  int (who / 5) * 5, y! Z7 ?" ?0 ?8 s9 t
    setxy ( xcor-of turtle b + x )
% Z" ]1 k& Y5 R6 Y* N9 Q          ( ycor-of turtle b + y )]]
& K# ~% I- D5 S- ^9 tend8 l, g" O. k5 L0 I$ Q
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-21 18:46 , Processed in 0.017334 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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