设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7706|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
3 g& L& F* e1 ]& N
: d, l* t- R7 n; d% X+ v- V但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% `( w) u' h, ^$ f
* m0 M/ t- J4 r/ \turtles-own [a b c d k f g h5 ^5 |1 B/ W. n& Z4 M. e; L
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 9 k" f$ Y! l# j/ y
]( @2 Q5 n  d  i4 N/ K
to new) I: ~5 \9 B* V# N% @7 Q* U
  ca
) J9 ^# a6 e7 H% v+ P& }  crt 5 * num_of_building" ~: e% Y+ Z8 Z: N3 \6 s
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
/ V' D8 Z) x9 V! z: J' e  scatter     ;;keep center-turtle random positions - x! s6 o  A5 |. X/ J( K* \
  unit_plan   ;;make up the building plan+ @7 {9 e( @' k7 m
end
  b" i- W. ?3 Q. l3 M; k3 `" @to scatter* y% H$ h% |4 T. t+ f6 a
ask turtles with [remainder who 5 = 0]; ?$ i6 N: T, Z; x2 A) i. y
[# @- u* j& u& ]4 j  i& p9 k' a+ E+ Q
set xcor xcor - 6 + random-float 15
% l- r0 o! b4 j* L. Mset ycor ycor - 6 + random-float 15
; ?. C* K; B& o. Q]
1 |; y# e- C& T' v. z6 O2 ?# Yend
' ~2 f% l/ y% h9 ~" Jto unit_plan
  c9 ^! f2 G3 H) @* ^0 L& N. g5 ]2 ^ask turtles [) P8 I4 N8 V# z, |5 Y8 s
if (remainder who 5 = 1) [set a who $ @/ C) H2 v8 \4 u/ ^
                          set x ( 0 - Wid / 2 )
9 x8 U! |: W+ u3 F! b& j                          set y  Dep / 2 ]  c" @- f1 j/ O" K9 q/ Y) {
           set b  int (a / 5) * 5
+ X+ f! s' {" V/ u* Q    setxy ( xcor-of turtle b + x )
0 D3 r7 b9 `4 q; d( q. e: [          ( ycor-of turtle b + y )
, e! z) T: B6 \4 x! f& Y4 i1 cif (remainder who 5 = 2) [set c who" j7 m( {9 e( U3 \
                          set x ( 0 - Wid / 2 )
8 I6 Y' e& ]; w3 R+ X* p. ?% `                          set y (0 - Dep / 2 )  ]
" f4 `. X+ S+ G1 F6 D0 p  E: `) s. I                          set d int (c / 5) * 5: S9 o$ M/ D; V  y" G% G. D
   setxy   ( xcor-of turtle d + x )2 f* p2 m, S8 R+ L' A
           (ycor-of turtle d + y ) / l/ M4 y# o+ `: O- d
         
# s. @5 T! [6 m. z" W            ( b! Q" w: g$ D3 n/ @6 @
if (remainder who 5 = 3) [set k who- V1 Y8 M* r# Z5 K  I  R. I: ^
                          set x( Wid / 2)  1 J  K/ H9 N3 E6 F- K- [# ^
                          set y (0 - Dep / 2 ) ]
, Q6 O. V/ y& `" t: q! {  {8 ?                          set f int (k / 5) * 5
; x3 N% I6 B! l6 L) Z( o2 t  setxy   ( xcor-of turtle f + x )/ H' i$ ]* n, A5 Q# E2 F
           (ycor-of turtle f + y )
0 n0 ~! s! a8 j& g8 E& I6 t4 y           / `, v$ ?: h- U( y* e
           
7 N7 d$ [* i; d  E3 uif (remainder who 5 = 4) [set g who. g) A3 \- y/ ]# {& }
                          set x Wid / 2 2 ^5 o* W9 b& D8 S$ i6 l
                          set y  Dep / 2 ]; J9 u7 R( P+ X+ U
                          set h  int (g / 5) * 59 t  y& A) a. I/ v1 z/ d7 L
  setxy   ( xcor-of turtle h + x )
. b. c# H! O* @" ~9 R2 g7 h           (ycor-of turtle h + y ) 1 [. Z$ W' m( v4 ]* X( T$ C! W
                          
  w8 o1 I) [! _7 @* I5 p                          ! q1 S% t( m3 w2 z3 a
                          ]5 k* v: A' ~5 H* q9 R! Z
end
4 N$ u# Z5 W9 [; o6 `4 e" m6 ~2 N7 |" m* |3 _* T
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 A- m6 o" w/ r6 N: c3 S: }3 |6 w1 M
应该是# k8 y( q6 V' A) E! w3 r
ask turtles [
+ m1 O3 N+ l- c' _0 V' ?/ E4 r" pif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 8 C) P7 Q) S' X/ |. g5 b! w
                          set y  Dep / 2 4 J1 ~3 L' {6 L- A
           set b  int (who / 5) * 5, V8 _: m0 j& K" Z- O! [  l( \& }
    setxy ( xcor-of turtle b + x )
- J# y6 F. l+ B( z5 p8 o& g          ( ycor-of turtle b + y )]]& l* w: F; E2 f& L- _
end% U8 j- u( n; l/ J
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 19:30 , Processed in 0.016372 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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