设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8834|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。+ V+ x8 i4 E6 _. A

$ V$ g( k4 |2 n, w但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。, x. v% a5 Y; V- d2 Y& [
1 t0 A( N& N& k1 d& P
turtles-own [a b c d k f g h: O- X9 z9 ?" {0 ]% D( D5 m
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
/ s9 R; X: g+ ^* U; D) F]
5 f& |7 I/ I- Q, Tto new
: V" [. E3 E: [1 l* j$ l  ca
( O6 d" B1 D  g% c  crt 5 * num_of_building6 z0 o2 q2 Q6 Y5 E" c' C6 N. y
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
$ H& A5 Z2 d% U0 k5 `0 A; C/ O2 [  scatter     ;;keep center-turtle random positions
. p4 ?+ n3 D$ i: F  unit_plan   ;;make up the building plan
+ W  s' \2 f) ~: }4 J! Tend$ I* l! Y+ d& {1 N9 i7 P
to scatter- v* ]' B9 u9 c2 w8 \4 `# \
ask turtles with [remainder who 5 = 0]( ^" B- [3 W1 |
[! ^) d, f1 H; K3 q
set xcor xcor - 6 + random-float 156 L* r  @4 ?0 C. N
set ycor ycor - 6 + random-float 15
6 @8 Q+ l, ~+ s, L+ Z]
0 q. m. H/ p/ v7 ]end
& d- y9 y% `( H% xto unit_plan # P% H- [5 h+ v8 B2 v1 m/ Q- f
ask turtles [' u; s2 C6 s; x3 s$ p( V
if (remainder who 5 = 1) [set a who
) H1 F7 X  O3 r' x! [# \. v' H                          set x ( 0 - Wid / 2 )
! ^) b7 H" b) m4 G                          set y  Dep / 2 ]6 J- q6 z4 b2 M2 r
           set b  int (a / 5) * 5
) F/ E1 ?7 [" a. g' S/ \. L    setxy ( xcor-of turtle b + x )
2 K9 z+ m& ]0 e6 D( [) g2 O          ( ycor-of turtle b + y )
! X9 _% M+ f8 q$ w' h7 gif (remainder who 5 = 2) [set c who. i0 f$ z. k5 S2 c4 M" R& y
                          set x ( 0 - Wid / 2 )
& M9 |' j( G% g4 l                          set y (0 - Dep / 2 )  ]
* _5 h0 j, R( Z) _1 U7 d                          set d int (c / 5) * 5& c" _9 e1 }( x. g, T1 n+ t' k: U
   setxy   ( xcor-of turtle d + x )% |8 r* U0 p- S( v  n( y3 n6 M
           (ycor-of turtle d + y )
9 f* c+ {1 U5 o& V2 q  X          ; c4 o1 _% Q3 u2 P0 |0 n
            
5 z  P9 d1 r8 n: S5 Hif (remainder who 5 = 3) [set k who- d# ]- A+ n; {/ F& _! f
                          set x( Wid / 2)  
$ ~" B+ H+ K/ g% g- ~8 S$ M8 b' W0 I                          set y (0 - Dep / 2 ) ]
4 ^6 C# G' U( N  t3 d- [                          set f int (k / 5) * 5* V, s- v) }( y' \) n; l" I/ ~
  setxy   ( xcor-of turtle f + x ): C( r& p& v4 J, @
           (ycor-of turtle f + y )
2 R' V8 u* {9 _6 E& J' n% L           1 B: _1 B( S$ G; D# ?
           
& q! T/ v3 j3 J" |/ N6 y0 X3 U7 |if (remainder who 5 = 4) [set g who
8 V# Q2 ?2 }$ _# e  h7 ^2 o$ V                          set x Wid / 2 / k( e9 V3 [) g8 n7 C! [
                          set y  Dep / 2 ]" k9 ?$ X  j: x7 g/ |
                          set h  int (g / 5) * 56 {% a' O  ^0 @1 G$ a
  setxy   ( xcor-of turtle h + x )
! D! p- N# ^0 d  J8 Y6 S3 B           (ycor-of turtle h + y ) 4 ]1 `7 J2 H- ?. c8 y
                          
( t; g  ?$ W: |2 v5 d                          
0 W1 t) O3 K; B# N$ N                          ]
& F  N2 r8 G  X& J/ send
2 P  \( s/ H. k7 F3 d) B! q) H% Y$ X/ {4 ~; t) R
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,$ z" ~5 g- Z' \2 ]
应该是2 y- s1 z6 Q4 i) l' M! `
ask turtles [
. U) [7 E' P* @: L/ ]* ^+ O3 S0 |+ dif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
! k" V8 h3 C! ^- R+ l, m                          set y  Dep / 2 9 U6 \- B3 R8 _" A+ m( E, q- |/ P
           set b  int (who / 5) * 5
& x2 Z8 I  \# K# k( @( L1 ^/ j    setxy ( xcor-of turtle b + x )
8 v& g+ q  a& O8 S& f$ T7 ~' o          ( ycor-of turtle b + y )]]
. x! l6 j) A$ @) R) Iend
+ D, V* X( a. D4 V之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-10 06:20 , Processed in 0.016076 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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