设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7409|回复: 1

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

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

* ~* u: L* `! F6 x- r8 w* s但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。2 E) R# V) \* @

) d" A+ }' d& M% j: V+ o( g6 Sturtles-own [a b c d k f g h
2 |; B  Q, u1 `: x  @) c  x y     ;; these are the leaf-turtle's offsets relative to center-turtle " s2 Q9 n- W; w* @" C  G
]
# t2 ~3 C( V1 z6 fto new
& {5 ?6 J! I% a, G4 p  c  ca
  c% h7 h$ P. L9 A* {& ^) N  crt 5 * num_of_building6 O! J2 k# T& c8 K1 L& }
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
* R* O0 m, U, q; f; o  scatter     ;;keep center-turtle random positions
7 e, B, y" u- t+ B8 k( Q9 D& m  unit_plan   ;;make up the building plan
* X; s+ n/ Y! u) X' @- r# hend) T' v8 }! z* `+ |5 m6 \- E
to scatter
5 _3 O; d0 w2 K& g: xask turtles with [remainder who 5 = 0]; G9 V/ i, {* w% |3 [5 V- H
[) H7 X  s6 H4 V: _8 b
set xcor xcor - 6 + random-float 15
' M2 V8 M  i5 [0 Jset ycor ycor - 6 + random-float 15
: y7 f/ l# O! v3 E. j3 H  x/ v7 R3 G  w1 {]: |2 X) E3 T* C2 n- p
end$ @. H' C1 E6 B1 G% w& \
to unit_plan
8 r! g- H% Z% n/ ?& u# Y6 C6 m8 Yask turtles [
1 x2 j& W/ P. n+ `( L0 u7 r( kif (remainder who 5 = 1) [set a who ' u% G- X: Y/ j- i! k2 w
                          set x ( 0 - Wid / 2 )
, _5 L$ I6 [7 g& a                          set y  Dep / 2 ]8 `" u2 v6 Y& N7 w; i7 n9 I! G
           set b  int (a / 5) * 5$ m/ p6 {2 \4 m* c( ]. g1 n
    setxy ( xcor-of turtle b + x )
" z5 ]' z; N& c+ ?          ( ycor-of turtle b + y )
; d# p" N' [/ R. Eif (remainder who 5 = 2) [set c who; E- n% l( k2 X& `. F3 L
                          set x ( 0 - Wid / 2 )
7 G4 K- d5 Z8 h. i1 g                          set y (0 - Dep / 2 )  ]8 n7 I) _, _% T
                          set d int (c / 5) * 58 h0 Z2 j1 H7 ?. h
   setxy   ( xcor-of turtle d + x )' R  C$ F1 r% H% p' r9 I7 V
           (ycor-of turtle d + y )
, v  [" I- f( n7 C% t* s0 G          + C, D, r7 D% j3 D( k7 I( k! u, c
            / k$ d& p0 A, \/ c" r2 B5 ~
if (remainder who 5 = 3) [set k who
% F6 v/ z, U- T8 x3 Q% k5 U                          set x( Wid / 2)  7 p) Z3 K# R% B2 y1 |4 j5 G4 B8 A
                          set y (0 - Dep / 2 ) ]
3 ^9 c& _& A9 C9 y& X) [                          set f int (k / 5) * 5
6 p5 ?# |, d( X" i  setxy   ( xcor-of turtle f + x )
' ]% C, p. S/ d: a/ a4 r           (ycor-of turtle f + y )
+ d2 _" b  s6 H/ n           . Z- L7 n7 L; W
           + M$ c1 H& ?: D- T% h
if (remainder who 5 = 4) [set g who
& l* H9 y) x8 |1 n0 X- g. e                          set x Wid / 2 $ Q# L+ O( h4 {
                          set y  Dep / 2 ]
! n$ C# l; W, o  @$ C                          set h  int (g / 5) * 5" _+ O8 q& b5 I! m4 S! ]
  setxy   ( xcor-of turtle h + x )
# [5 ^% X/ e. J9 A! \$ G4 Y& @' a           (ycor-of turtle h + y )
4 Z3 O7 z& D* @- p                          
/ r8 w* X* |, D& z* s, ^# g                          
. U5 s2 Y, Y4 n                          ]% T  E( ]& m& v' J
end
- `: e' s+ s. t- y' [. X, u
/ }  P( t6 E: o3 Y/ \( h[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
" K0 @* F1 A7 g' a7 _) H应该是5 B+ I; p+ V* F% f- E$ d
ask turtles [8 D# f: `, e- n2 M- T1 N8 }& I
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
4 E6 V$ f! z0 l7 I                          set y  Dep / 2 2 m4 e7 W1 o; P6 _6 N+ Q* k
           set b  int (who / 5) * 5' n, d+ w& l# c+ O
    setxy ( xcor-of turtle b + x )
, u" Z  w) m+ n- N5 _- o! a7 F          ( ycor-of turtle b + y )]]. G5 t5 I& a0 T) d
end
# S: u# x. x9 t5 N之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-8 21:15 , Processed in 0.016811 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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