设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7972|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
4 E7 C# ?( D! W+ a5 Z% z- [; D+ M. i" c8 p! C( L# ]' r
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
: o; t1 [% {; v; B6 T) u0 F& [  ^' v6 X9 h  E
turtles-own [a b c d k f g h
( e, s- }  |  d, n  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
6 {; S0 x6 S( N1 C) I( m5 \]7 L9 y! j7 |4 x$ w
to new
& E/ o9 h# _. H$ X$ F2 I: b/ F  M# r5 t  ca+ B+ n1 }: |( t9 h' h0 j
  crt 5 * num_of_building
- s" L4 f9 ?% P* M  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
  d- w6 o6 R2 W8 C9 J! c! i+ a0 P  scatter     ;;keep center-turtle random positions , R5 [6 v" [6 O
  unit_plan   ;;make up the building plan
7 b2 Q1 P! |! }. h# I' Qend
; \6 ?5 g, S9 m9 _3 ?to scatter& ^5 X! K' k& j, X7 m$ C
ask turtles with [remainder who 5 = 0]' N  ]' B: c: v5 D% s: V" l$ r! [
[8 h1 {1 R% Q$ q
set xcor xcor - 6 + random-float 15
6 ^& N# @- Y7 X3 M' ^+ u- a( ^. G/ xset ycor ycor - 6 + random-float 15) s3 l! q# L( z9 n# }3 T
]
2 i9 a4 }5 ^- W, s! d% xend$ z/ j: w1 u- P  u  _" [
to unit_plan + ]: c' z9 b# j& R/ J
ask turtles [
/ R# F: E+ U8 I4 u% pif (remainder who 5 = 1) [set a who
- H# ~9 T+ \0 e, z& Y1 B                          set x ( 0 - Wid / 2 )
) G+ @) o5 x+ n; T0 G                          set y  Dep / 2 ]) E5 I7 t& n2 ], g( c
           set b  int (a / 5) * 51 h1 N2 L. v, p% A) H9 |) K
    setxy ( xcor-of turtle b + x )
! y3 ^, t7 G! }5 H4 p/ g          ( ycor-of turtle b + y )) G8 q0 u0 F7 T$ @
if (remainder who 5 = 2) [set c who
- z) b% W/ r  ^9 Z. l( Q7 Y& o                          set x ( 0 - Wid / 2 )
. z; ~" t9 U; y% S/ A- r( Y                          set y (0 - Dep / 2 )  ]  f, X, R8 k" B0 Q1 u; I- n9 @/ Q
                          set d int (c / 5) * 5
6 a; L0 t6 _: E7 }4 y/ ]: F* r   setxy   ( xcor-of turtle d + x )& i! _/ d! O* G( L+ U1 i/ ]
           (ycor-of turtle d + y )
1 {* ~8 J  d8 i9 z1 m          ; ~! L, C- \8 |* U7 J
            
  N+ I& g0 p) M2 T! A. Vif (remainder who 5 = 3) [set k who
$ q( i/ i7 l/ r2 ^% u5 L3 U                          set x( Wid / 2)  
4 [$ c0 I6 S) ~- {2 ~8 v/ i7 x7 D) v                          set y (0 - Dep / 2 ) ]
- D: Q# w% c$ ^( q3 o                          set f int (k / 5) * 5
8 J: C& a! p# o) W0 X  setxy   ( xcor-of turtle f + x )
0 U0 P1 ]) U1 K           (ycor-of turtle f + y ) ; x3 ?) t; s+ ^' C  s
           * O! P* b0 t. W! n' i( K5 q2 t
           
4 d0 j- ]2 U: y/ z* o$ Fif (remainder who 5 = 4) [set g who) C5 W: \5 ?% L% P
                          set x Wid / 2
5 z+ M+ G$ L+ k/ h% t; E2 s( V) x, ?                          set y  Dep / 2 ]
  u6 o' n& g7 O  [4 s9 B* N                          set h  int (g / 5) * 5! O& q( Y; b; V
  setxy   ( xcor-of turtle h + x )5 j, w* F7 |3 F! t) ~7 K! I8 R
           (ycor-of turtle h + y )
' S; k4 R6 K7 c) A9 z6 ~                          
( n0 L& m( q) v                          ( m( {+ C6 J( R
                          ]
) @& f- j7 w! o& q$ \end
) B; n  u" b) t1 Y( Y4 I$ t
  H9 U) K/ O# U1 n. a" }( w[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,; |: h) \7 M  N# f
应该是" l' a0 _) ~0 f: i8 _# H
ask turtles [
; r2 `# B( O% n% h, o( k) d$ oif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
+ r$ ^7 J# H/ q                          set y  Dep / 2 ( d( l  x9 F9 \4 c5 d5 ?" V
           set b  int (who / 5) * 57 T: L4 C7 ?6 C* S. D) S# @
    setxy ( xcor-of turtle b + x )& |" P( X8 F& a6 U" a( O- L
          ( ycor-of turtle b + y )]]
7 a% u- l8 w* A: k, Y$ P; |end4 Y- k1 \+ y  k! F
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-23 10:16 , Processed in 0.019461 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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