设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7642|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。6 @* b) N. `6 H/ }1 K7 t

. X; K5 V: R, m# D但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。1 C  b% I- y# b
% h# B9 I8 r2 ?& H9 m
turtles-own [a b c d k f g h
- t  b6 F8 }% M" L  x y     ;; these are the leaf-turtle's offsets relative to center-turtle $ n: p9 p. G2 b: k6 ~3 F& r+ f& B8 m
]
# X/ s; S9 `/ i" ]$ x9 X! rto new
0 b  I. u! u1 A  ca+ w) ~0 ~7 e% {& Q( M4 \6 a/ l
  crt 5 * num_of_building/ n% B2 y! P8 w) t1 {& [/ ]" k2 K+ x
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 Q2 t: }3 }8 G- ~9 o$ R5 v  scatter     ;;keep center-turtle random positions
1 U& y/ w2 q* T, x/ K9 g; S, l+ J  unit_plan   ;;make up the building plan, M5 [( x( O7 R3 w+ _+ `1 c8 `7 @
end
  O4 F: l2 x1 ~* k, i% _to scatter) e  @" S( F0 S# _) P% L
ask turtles with [remainder who 5 = 0]" I8 B" ?1 l8 w
[
3 p/ h; o% U9 x2 [) ?/ I/ sset xcor xcor - 6 + random-float 15- H7 G- V9 T+ \) s
set ycor ycor - 6 + random-float 15
& n9 a' v% Y) i. e( @" @) e]$ X  r5 R: ]! F9 o5 s
end
0 E- _5 i4 x' E. h9 L6 Xto unit_plan
2 |5 T8 p1 S2 v! q9 d' E* pask turtles [
2 C' @8 D; u+ Pif (remainder who 5 = 1) [set a who ; x3 N! j2 I) `% t* v. x; F
                          set x ( 0 - Wid / 2 )
6 I: j# v3 w# D, F/ ?8 L2 Y                          set y  Dep / 2 ]
4 J1 Y7 }0 w4 Y5 r4 q           set b  int (a / 5) * 5$ E9 @2 Q; W7 S# r
    setxy ( xcor-of turtle b + x )) @. W; Z2 ]  F; U
          ( ycor-of turtle b + y )
5 n% D6 {' V# H" u% jif (remainder who 5 = 2) [set c who7 U% X. E/ A$ S( v' J( C
                          set x ( 0 - Wid / 2 )
0 t  F0 x0 {* [# g) Q                          set y (0 - Dep / 2 )  ]7 M8 e4 F; k4 J: N- l9 u
                          set d int (c / 5) * 5& W9 G3 G" q) S, Q$ o
   setxy   ( xcor-of turtle d + x )
2 l1 `1 Y% s9 K! F6 x           (ycor-of turtle d + y )
& q% T. u8 Y7 [- G& O1 d         
2 v: W/ K; C) `6 e  u            & R  h- F) U! g5 w
if (remainder who 5 = 3) [set k who
0 O" Q* x( L- {5 G                          set x( Wid / 2)  ; D- h# ^* S$ c# H# J9 ?4 m
                          set y (0 - Dep / 2 ) ]
8 ^" _8 [0 E+ s. w$ d4 J6 H' i                          set f int (k / 5) * 54 n+ u: v; o: K" ^( l' M
  setxy   ( xcor-of turtle f + x )
8 H! t1 N# p# {& I           (ycor-of turtle f + y )
# x: ~% R9 y6 U) Q) u           
1 h! Q' Q8 Z' _) a- D3 \! u  ~* S           
" _! K" l$ Q& C8 bif (remainder who 5 = 4) [set g who
3 P, {' a3 L# y* L+ l                          set x Wid / 2 ( G9 C! [) K# G# X! w: T
                          set y  Dep / 2 ]: m5 F2 R9 v4 g& O5 ?
                          set h  int (g / 5) * 5' e& h3 Y$ v9 J8 ], |1 w
  setxy   ( xcor-of turtle h + x )! t( A( x' X; U) K" m0 v
           (ycor-of turtle h + y ) - B( a. ^& }9 I- x
                          3 i7 V1 a6 r* ~
                          - B1 y# }4 m$ H3 H  c+ I& g' }
                          ]5 O: b- c' @0 P5 T% c. G4 G& Y
end
' z5 A+ _/ T& }9 V! P- o. `* B+ r( s
/ m2 ^1 J4 C) Y: @' X& F[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
7 H& u1 ]' T2 I0 L% ~3 |应该是" y" `  ^# S9 T4 y# B7 f7 m
ask turtles [
) e2 E. P7 m$ U" j4 n3 qif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # a8 d  ^2 t! _. k( ]: y* x7 |
                          set y  Dep / 2
! i9 j4 N" j. w6 d( B           set b  int (who / 5) * 5
7 m* E2 n% w1 L8 K    setxy ( xcor-of turtle b + x )
0 r' _1 w! Q. w$ Y* o( z3 m8 ~+ i          ( ycor-of turtle b + y )]]
) J$ {8 Q! h" [/ ]' vend
9 x5 @3 y- e! c7 V. _之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-10 05:14 , Processed in 0.018789 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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