设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7627|回复: 1

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

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

- Q4 \5 h9 N# k$ m但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% y" B' `$ S0 o+ H' |2 e
- P% U! U& K! [* U6 [% S# b2 dturtles-own [a b c d k f g h! W3 V" i& x5 ?( J- |
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
$ a% B- L5 n$ r# [; z]6 J' Z2 v" T* m. P+ [( Y& I
to new$ E: P+ \. T% V. L5 R' H$ p
  ca# b2 f' O/ |3 {( x
  crt 5 * num_of_building
' b6 E% \5 `; g% C) F" J7 |) `  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]0 J1 r1 m( g+ J; W( R" S
  scatter     ;;keep center-turtle random positions ! R0 Y! P6 X; ?# r5 n; w
  unit_plan   ;;make up the building plan% z6 }4 ?/ k% w; K" I+ @
end
& s9 P9 t7 s0 R8 hto scatter2 {$ V4 L, A  ?
ask turtles with [remainder who 5 = 0]  ^- E" I4 H: P
[
' j: O4 g$ r; ~" b2 Uset xcor xcor - 6 + random-float 15
) p' J% Y1 X! ]9 {set ycor ycor - 6 + random-float 15
( g% x# R7 i1 F5 b; s]
2 @4 x, q' V, b- h- f# Bend" j& P5 m7 U+ R4 m+ b
to unit_plan $ e9 J& M/ y( c$ |- o
ask turtles [" z) _" w9 N& s( f/ g& ]
if (remainder who 5 = 1) [set a who
1 _) T, Q6 G  S                          set x ( 0 - Wid / 2 ) . ?1 _8 Y  _; Z+ V5 b- O7 P
                          set y  Dep / 2 ]2 Z7 h# \: O! Q
           set b  int (a / 5) * 5% A* G% }$ ]* i( ?( c9 E
    setxy ( xcor-of turtle b + x )7 ?1 ?% X% D/ Z8 v- }- V/ V
          ( ycor-of turtle b + y )0 d! I: Y! E4 K7 C
if (remainder who 5 = 2) [set c who9 h  P* H1 d- g6 H- ]( l$ X
                          set x ( 0 - Wid / 2 )
5 X" }# \+ Q( s/ L# i                          set y (0 - Dep / 2 )  ]
' Z- ^: \, t4 A  B! a                          set d int (c / 5) * 5
. O2 W- v* g" T   setxy   ( xcor-of turtle d + x )9 g6 w' g, r0 d( `. F- O* B
           (ycor-of turtle d + y ) ; O( b& K# ^& b7 I1 D
          ) z  K. f3 z5 J- P# Y3 m
            * I% Z( c5 g+ P0 _0 t5 ]! k5 u
if (remainder who 5 = 3) [set k who
* p4 M4 C4 @5 Q7 B                          set x( Wid / 2)  
6 U# n1 h1 }; _1 z1 F                          set y (0 - Dep / 2 ) ]: j) x" C& m  y0 Z1 W* O
                          set f int (k / 5) * 5
# f: x# y% P) L" W  setxy   ( xcor-of turtle f + x )
" _5 Z6 z* E# J6 j; K           (ycor-of turtle f + y ) / R( Y  R4 Z' x! Z, M, a9 d
           / u7 q) E; I9 q0 J5 q$ e5 W
           
* m; R$ ]9 Q- c5 f: H/ `, xif (remainder who 5 = 4) [set g who
6 V4 q+ u7 H9 |% {; q                          set x Wid / 2 4 Z: j, l; w2 Q& ]) a: h/ o' i
                          set y  Dep / 2 ]
5 v* n4 p' f9 M: B* i! s2 Z$ m                          set h  int (g / 5) * 5/ {! j. U, q& }- R3 T0 ?6 e
  setxy   ( xcor-of turtle h + x )0 W: i9 m4 g+ \& l8 q" ~
           (ycor-of turtle h + y ) ! k1 |- g. a( l# i
                          6 Z/ E) ?; D9 s, [: ?1 G
                          , |3 ?6 e- K) g6 Z
                          ]; [! G! z* h" o" E
end
8 Z, K# Q! `1 C$ s: z& L/ `
: u+ S1 y  `) X[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,; p9 ]* s% M( W3 D) L8 ~/ @4 ?
应该是0 ^8 Q, }4 ^$ U" }1 M6 B4 v
ask turtles [7 w+ d( p# p5 y& |) B+ p1 b
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) % x2 d4 |) ~8 a  I7 P7 X
                          set y  Dep / 2
; Q# d# u. r* v# v5 ~% p* A           set b  int (who / 5) * 53 I( l$ A; W0 ^- m- e3 z2 u
    setxy ( xcor-of turtle b + x )
; M+ O/ |6 P+ a6 `" L1 P) c0 k) D          ( ycor-of turtle b + y )]]7 S" ~: j4 e! A; |* E- w, [
end$ N- J2 U" k" |/ f6 a
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-8 00:19 , Processed in 0.019075 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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