设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6593|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
9 h  z; q$ _: U0 I2 O' }( b0 K+ R
  K& O, q' C& G但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。  t2 _% t. q  n  [

. @5 J: N, p. c: [/ p4 {turtles-own [a b c d k f g h& s+ N$ [, j' U2 T
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
6 t+ T* s: U& v3 s]- j! w/ ^  q$ m3 T6 f7 s1 |
to new9 r" M, P: ^; ?& J% m% o- j& D
  ca) w6 U( r9 J- C3 K- w
  crt 5 * num_of_building$ F8 _& `3 Z# y3 m9 F
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
, V8 N' q0 j; w* z. r; k# _  scatter     ;;keep center-turtle random positions
6 k$ o- i9 y  u7 U, C  unit_plan   ;;make up the building plan" T, m0 r+ d  ~; B* b
end. Q2 F+ o' V! F% B
to scatter
8 R: X2 R2 r" |& Lask turtles with [remainder who 5 = 0]1 k; Q9 E# Z6 r# H& z
[
8 Y, f/ @& J% _6 g% j) K, fset xcor xcor - 6 + random-float 15
! t* O7 H* |% D/ K& L; b! Oset ycor ycor - 6 + random-float 15
$ k" q9 w! J6 t6 `]" }& ^9 x6 ]; h4 z8 h" o& z
end
' R1 m2 K: q( ~5 S, m( R& f" Fto unit_plan
/ f/ h' }3 j. A. q' Nask turtles [
& U) d3 j7 n7 @  S; N+ n  }& Xif (remainder who 5 = 1) [set a who 3 r* R5 W' z3 B( A# U2 M
                          set x ( 0 - Wid / 2 )
' k# s( s% t9 c' G                          set y  Dep / 2 ]4 y; x* R* {( u2 b% J7 w3 ?5 j& b
           set b  int (a / 5) * 5
  z2 m4 S& t8 K8 A: q: t* }7 A    setxy ( xcor-of turtle b + x )
2 T0 W$ k0 b" l) q1 b, \% c          ( ycor-of turtle b + y )
7 ~& D. w! a$ D7 Pif (remainder who 5 = 2) [set c who
( ?( _4 u: c" _- `9 D5 R8 x. ^                          set x ( 0 - Wid / 2 )
, ^: _6 C0 L7 g0 n- G3 N                          set y (0 - Dep / 2 )  ]4 R: a% b) g1 d0 B  E1 ^7 @, v
                          set d int (c / 5) * 5% L. d* d; m+ o: S' s" [
   setxy   ( xcor-of turtle d + x )
+ r8 r' l7 Y- e! ^) n- j           (ycor-of turtle d + y )
: K! b! m" _0 G3 P% h         
6 |, O2 V$ S# b* F0 J* X+ A0 R            - _- ~6 H" {5 i
if (remainder who 5 = 3) [set k who
$ s) S  J9 W, S" V/ |                          set x( Wid / 2)  
# |1 ^1 Z4 i/ o0 i/ k0 @  f9 J                          set y (0 - Dep / 2 ) ]. }" e- b; M) u/ b1 r1 y0 h* D
                          set f int (k / 5) * 5
+ X+ J1 y- b+ l) T! O' z  setxy   ( xcor-of turtle f + x )
  O1 g' W# Q- O8 Y           (ycor-of turtle f + y )
8 e% ~* f1 F, o, m: `) w           
4 d) A7 Z: o! k# E           
; y) k0 a! B$ ]* B, |5 E: rif (remainder who 5 = 4) [set g who, u8 o8 }+ W5 C, F3 ?. |( d! c  F7 e
                          set x Wid / 2 , E9 O% H( q5 L& H; S
                          set y  Dep / 2 ]
  {0 B+ x) ~  l! q4 B3 ^  t                          set h  int (g / 5) * 56 m( M* y. _' H7 r2 E& B! H
  setxy   ( xcor-of turtle h + x )
& a9 [! d  B# L3 Y* f9 b+ y           (ycor-of turtle h + y )
0 h7 J9 o$ g- i  Q' [) g9 }                          ) T. s/ f; S  O7 h
                          3 t, Y- o) O' s' K* Q
                          ]. u  [: z6 k; ^# i& D7 s
end/ k6 W/ A  \) ^2 A# o6 Z% o
4 z5 r- h" _! }# ]  w0 u
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,; x' q  ^5 o; J1 }$ r8 M
应该是
; K6 H) N' _0 s+ ?+ ~ask turtles [
9 T3 ^4 c9 l! `( B6 ~if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
- \2 t$ w& U* u" k) V                          set y  Dep / 2
; ^' Q  e% u4 U6 m: c: a, A# i+ j! d$ F           set b  int (who / 5) * 52 D0 D/ F1 z6 U/ n+ R" p: b/ v
    setxy ( xcor-of turtle b + x )
: a. T- s" G  `2 l. l          ( ycor-of turtle b + y )]]$ W  J7 y  E  N0 b
end
4 K. @% n, Q  v# k之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-1 23:07 , Processed in 0.014650 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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