设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7503|回复: 1

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

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

1 ]' E$ C" D0 L& v2 R但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。) D+ i- ^. j$ \0 B2 p
- q! f) Q) I6 b5 \+ `& H
turtles-own [a b c d k f g h7 a" S8 Q1 j* y; a2 d
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle / V& V! ~7 ], x. J# I
]
" z/ ?0 k5 f" Xto new
' L. u+ r( Z# ]' u2 `3 @$ `  ca
, Q( N3 p% _6 N! _  crt 5 * num_of_building
3 P5 X4 b' _' N# Y# _  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]+ R2 T, O8 c; M+ F
  scatter     ;;keep center-turtle random positions 7 Z5 k. z' B6 V1 `9 k- G& D. l' Y
  unit_plan   ;;make up the building plan3 M. U: L1 d4 U$ Z) K5 b+ k
end9 b8 r9 `* l7 M2 K% A7 }
to scatter1 q1 j& |2 y. q. [( N
ask turtles with [remainder who 5 = 0]
0 b( U0 ~; u6 W* ~7 Y, H[) i3 |1 P% h6 b1 k; T3 W4 O
set xcor xcor - 6 + random-float 15
) A& v3 Y+ j2 z+ t3 zset ycor ycor - 6 + random-float 15( d4 @  N5 L- J% s; J
]
! F6 Z# l; \8 S5 T% p1 k% ]end
0 S0 I4 N0 N0 I( l4 ~  Rto unit_plan " ?" E8 P/ ^: ~% @  E' H" X7 ~
ask turtles [
1 C- K$ s, E# K, b& Hif (remainder who 5 = 1) [set a who
. q0 T  j& r$ f7 x1 y( Y5 o                          set x ( 0 - Wid / 2 )
& R8 `* P- J+ L3 S                          set y  Dep / 2 ]
! u9 l9 l3 e% u4 _( B, b           set b  int (a / 5) * 5
5 ^8 P7 y/ ^0 J- a- I+ l: {# D    setxy ( xcor-of turtle b + x )! E7 W3 i( B, H' c* E* g7 A4 Z
          ( ycor-of turtle b + y )( Z& v: [2 B$ z! I& n2 j( A
if (remainder who 5 = 2) [set c who# [( g1 M: D; C* ~' Q
                          set x ( 0 - Wid / 2 )
8 f! V% K; E  \                          set y (0 - Dep / 2 )  ]# r5 Z; ?  C: z; q. M% L, |& T9 T
                          set d int (c / 5) * 5
  `) O$ `/ M% b" [' ~   setxy   ( xcor-of turtle d + x )5 J4 {! H2 F* s& U0 v4 f- p! n7 B
           (ycor-of turtle d + y ) ! d$ g5 C' t0 h5 S
         
1 j9 Q" h, f# j8 n4 Q9 s/ n            
9 f5 \! D! c( K/ @if (remainder who 5 = 3) [set k who: n7 e8 n! N/ Y9 \+ F
                          set x( Wid / 2)  ! Y6 k! d0 l5 e4 z# g. H
                          set y (0 - Dep / 2 ) ]% i+ d5 n+ [$ c  z. L
                          set f int (k / 5) * 5
) O5 M/ b- g* `' _5 m. _8 c. i9 I  setxy   ( xcor-of turtle f + x ); w, j" l' N0 m' c# P' J, [
           (ycor-of turtle f + y ) , F* O2 r4 o# m2 h1 c$ T
           
7 @. L' D* k" i' X           
; d( E% [' h9 G& uif (remainder who 5 = 4) [set g who
: v2 d' X% [& D- f' n                          set x Wid / 2
9 o  `% l* X0 j  u: D. A) ?  N                          set y  Dep / 2 ]
0 V2 n! [& ~4 ~! L, L                          set h  int (g / 5) * 5+ Y5 s8 c2 N9 `5 ~! M
  setxy   ( xcor-of turtle h + x )! }3 n% j: A4 A, Y3 t
           (ycor-of turtle h + y ) # B; K) q. ~9 b- B
                          
3 C( F8 z! q$ w1 u6 z0 ]                          
) x0 r: Z8 t, |* d/ `; L/ R                          ]
# N3 @, \, C( t" }7 Z: G) Xend$ ^: C& c% |  [1 `

' Z3 Z- t& u3 |/ Z' @* t[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,7 P5 M5 W3 H* Y3 E; H5 {! R
应该是
0 o9 K9 f9 C2 {6 E1 s4 zask turtles [$ L2 N( R; m) q+ ]5 C+ x4 x
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
5 o- c! a9 v( k! s( \                          set y  Dep / 2
  I3 A" W, u" ]6 W* W           set b  int (who / 5) * 5
% b, n& |5 u# ]$ X- d7 i0 B7 f7 _    setxy ( xcor-of turtle b + x )& @$ j, U, K) r2 Z! W0 q
          ( ycor-of turtle b + y )]]1 b  \0 I' j/ s8 G* Z7 H1 q
end7 [+ E" ?! Z% R# o! u
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-19 09:19 , Processed in 0.019358 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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