设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7340|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。; |! W: n0 Z1 A6 b
  n8 x3 @5 c; }% v, r8 x9 q8 G  L+ e
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
! d! R7 G  V0 ~4 O, M% [/ q% Y  x5 B
turtles-own [a b c d k f g h
& y+ Y5 y6 N/ o/ `5 q( V2 c  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
0 K6 ?* n4 t4 q" V; P5 g]
! b* {9 Q- u- l  Jto new- K( w) Z: N* o
  ca* @7 B+ L6 {2 o) I! }' ^
  crt 5 * num_of_building
. H# y" r8 N& T8 S' Y; S% @" V  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 c/ T! e# p  w' b. ~4 ~  scatter     ;;keep center-turtle random positions
$ [( Y2 o6 ^, H" [* R  unit_plan   ;;make up the building plan
1 @: x& V+ I* H7 Wend1 Y; @, e' V9 c; s
to scatter8 q6 n0 S: ^- N- R5 \- o
ask turtles with [remainder who 5 = 0]5 ]2 T8 [2 i5 E4 S. X% s' X, A
[
' p0 ]# {8 _% r. h6 `4 Mset xcor xcor - 6 + random-float 15
2 `4 X9 R3 O$ C/ ^7 b( ?set ycor ycor - 6 + random-float 15
( {, s# Q# J1 r7 u+ k9 V]
  X/ X+ e- s  i; r3 a' u; Q: U% X; Rend: {" N7 C2 a$ c# l- O6 s
to unit_plan
8 o4 F: \' a+ T: |6 Z1 ]ask turtles [
: H) o/ b1 ^1 s8 Pif (remainder who 5 = 1) [set a who
: Y: ?4 J$ }) L- S                          set x ( 0 - Wid / 2 )
9 c; F' }) @8 e  h! ?                          set y  Dep / 2 ]1 b( u; J" H7 x
           set b  int (a / 5) * 56 P8 I/ r& Q4 G
    setxy ( xcor-of turtle b + x )
7 R6 M0 k* Q+ Z* J% [5 {/ p$ ~1 _          ( ycor-of turtle b + y ): S/ p& f" f  t5 r
if (remainder who 5 = 2) [set c who
" P6 I* e9 U' s: E* F  z                          set x ( 0 - Wid / 2 )
& ]; V6 h! t: [                          set y (0 - Dep / 2 )  ]
& N* q9 N( ~: u! i: b                          set d int (c / 5) * 50 a% q0 H; L: @* {% ?! S
   setxy   ( xcor-of turtle d + x )
* O0 C. w# W; a+ d' b6 C4 y           (ycor-of turtle d + y ) : t6 W$ G1 M9 u  q5 o
          ' f$ F9 D; b+ N0 Z( U& [
            
  z; x+ y9 ^) G' P: L8 v/ V  H! }if (remainder who 5 = 3) [set k who5 g5 x# p* e/ r6 U
                          set x( Wid / 2)  
8 I2 Q- E: _+ s2 c                          set y (0 - Dep / 2 ) ]& X+ i( r, i" j* P, e% e
                          set f int (k / 5) * 51 q$ }; p- M& \, k
  setxy   ( xcor-of turtle f + x )/ F2 E9 M0 u$ H  E% D5 O( e
           (ycor-of turtle f + y ) " L- `. q) O. P9 O) t
           
( g& t$ e. E0 W5 g3 v1 B           ) ~; E$ t: f6 |; d! D! [; O
if (remainder who 5 = 4) [set g who
# v6 h& }  A* ]0 {3 \( o& q                          set x Wid / 2 ' o0 ^( u6 M, e0 _7 ?0 r3 {
                          set y  Dep / 2 ]
* E; |; K" o& Q" S5 J8 i                          set h  int (g / 5) * 5
( \. M. C* E* S, D" M& |  setxy   ( xcor-of turtle h + x )
, I8 o; j2 R7 ^; {! Z& ~           (ycor-of turtle h + y )
* ~* }+ Y8 b% O2 y- t! R                          $ o+ V% }7 ]6 M: ~3 q! S+ v
                          
1 \% p5 J+ S! ^) |                          ]4 w1 H. o- s' E  Z1 }$ h* A
end; S" B  F) C+ r! C3 d0 j

  ~7 i( ~' b, B. q$ A0 Y* a1 T; B[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,& t" N; k* M2 ?  \
应该是$ }& ]# U) L! k; ?1 s& p# Y
ask turtles [
# e5 z" c% @& k. i1 F& x& Tif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # o( ?' }8 M- M9 O8 E: |
                          set y  Dep / 2 9 `% F* I) w; K
           set b  int (who / 5) * 5- G# x% Y8 _8 H5 u" z
    setxy ( xcor-of turtle b + x ). e. V- ?! ~2 w$ u& M
          ( ycor-of turtle b + y )]]+ G$ b4 c- o5 y7 z* L# u& Q
end; t: j. W. y- g! L
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-31 03:44 , Processed in 0.019865 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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