设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7085|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
8 |3 y# x* c- L3 A! ^2 c" _8 Z1 H  t
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。, ~) U( V( {! u9 @6 U8 D( U' E5 L
! ?/ @  }( s7 U% w6 E' {
turtles-own [a b c d k f g h
6 W0 I7 F+ M6 ~' D5 U/ R- [  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! q; q+ L; X" c]0 v9 Q7 z+ W! x' Q% ~
to new
& _2 Q; M) n3 H" h. D- q* V- B  ca) x3 ?- X) ]; ]  q
  crt 5 * num_of_building5 |4 d. b* j. L, z
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
# M% k  X2 v6 g& K% s- |7 b  scatter     ;;keep center-turtle random positions , l& V! y3 n, @4 f" r5 q* u
  unit_plan   ;;make up the building plan
, M6 q/ Y4 P! j- F# Bend) N+ v. t6 |+ |2 Y
to scatter
! l6 I6 C" L/ ]4 x) s8 L( o5 w: o0 pask turtles with [remainder who 5 = 0]
7 x0 X' I* B! |. k( T! c! V9 k[" ?, W/ b# F# j6 s" b; a; W. r
set xcor xcor - 6 + random-float 157 J8 D9 T' T1 A9 j4 j  p4 g& }
set ycor ycor - 6 + random-float 159 i/ B7 Z: l4 M' I  J
]
% {* a" a7 g0 Eend7 e( H3 \) p) J% q- T
to unit_plan ; H8 P- V, T, M# d2 S' `5 N
ask turtles [% c' I% F2 b* u3 F: G# M" ?
if (remainder who 5 = 1) [set a who # ]* Z$ x) U' ~$ O) [2 I: J
                          set x ( 0 - Wid / 2 ) + [' O% c3 H" Y, n0 E1 b
                          set y  Dep / 2 ]/ A: {* R& s5 `/ \, X1 H
           set b  int (a / 5) * 5- u6 C1 v' f+ |7 L. q
    setxy ( xcor-of turtle b + x )
3 ?* u7 d* v4 c* w1 D1 m% l8 r4 \          ( ycor-of turtle b + y )
9 E, S" e% q& R# D# hif (remainder who 5 = 2) [set c who
) g( h, S3 _6 E4 L" V' H! G0 H' g+ C                          set x ( 0 - Wid / 2 )
( x+ J; l& e  ?  l1 X& B                          set y (0 - Dep / 2 )  ]
, g$ h$ l* d: y# }& {* `1 U" J: a                          set d int (c / 5) * 52 j% q; `/ G9 Z
   setxy   ( xcor-of turtle d + x ), Z$ w" `5 D3 N1 A; h
           (ycor-of turtle d + y )
8 S& A9 A/ t( h+ T, ?         
2 s& s. C2 m/ X' U& ]6 Y            
& ?2 O  A5 |5 Fif (remainder who 5 = 3) [set k who
6 T& I" ?; C) d$ S8 N! I                          set x( Wid / 2)  $ H- [5 o& _& M: r
                          set y (0 - Dep / 2 ) ]
( O* ?+ N& ]( C* c; f  w  V                          set f int (k / 5) * 51 _: W# }6 z( w, V* T3 |
  setxy   ( xcor-of turtle f + x )
% D4 w* S/ y/ j4 I& w9 l           (ycor-of turtle f + y )
, M+ p/ F7 v; X3 z$ H8 r" d           
% T2 j; u. H% N4 T# Q9 ~" _           ; R/ o- P0 b" i8 D" B
if (remainder who 5 = 4) [set g who% w& ]; @- ^. ]# X2 J
                          set x Wid / 2 ' @6 i0 O0 l; J' E' t
                          set y  Dep / 2 ]2 b' \" ]/ e/ [/ }5 U
                          set h  int (g / 5) * 5
0 O1 b$ V& o5 Q( z" {  f  setxy   ( xcor-of turtle h + x )
1 U, G, }) M% w           (ycor-of turtle h + y )
: y. G5 i. B/ W                          . D; h* _  \5 g
                          
7 z2 r  }+ e+ [3 C+ J6 ]& m                          ]
; g8 ?: ?1 q$ Kend
- O& |! I- c; I" P1 E& h+ u( ?7 ]7 ?' u) t! ~$ U6 }
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,; S  t- I) P8 [$ w% }- P% J! Z. Z) r
应该是% k" M/ @* v  v8 o4 `$ G5 {& v
ask turtles [* W; i$ X; G, i) H! q5 |5 G
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 7 l1 T; f5 ~: U( n* H
                          set y  Dep / 2
; s& n& m* p" o& k3 K6 x           set b  int (who / 5) * 5: U- D0 M# q( K3 @: g
    setxy ( xcor-of turtle b + x )
% j4 y% X3 z- i* H5 z& d3 \          ( ycor-of turtle b + y )]]
  E! F& ?: j3 e, nend
! D8 \* r7 x5 d& m: q9 e2 p; h9 ]之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-27 12:41 , Processed in 0.015118 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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