设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6970|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。. c4 z" H$ u; [7 o/ ^- \
. W1 q4 M! v& M, X1 Z) C
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。8 ~: B5 S. K# E% p

6 Y5 n9 G: t. ]turtles-own [a b c d k f g h
* N& x$ r' W- F% h; S  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 3 y$ H- T" S; Y" l( k2 O
]
' C+ ?7 ]* N5 Q/ P( D; T. bto new' V: }9 v1 [8 }! d6 U
  ca/ m) ~" k# W7 |5 L
  crt 5 * num_of_building/ Y( Q0 U& E; n, n, T
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 y9 V; H: W1 a: K4 G" i8 T
  scatter     ;;keep center-turtle random positions " [! o, [4 I; s/ C( x/ g2 b# i
  unit_plan   ;;make up the building plan
* K/ V# D* B" v7 W9 E/ zend
; o* a" t0 ~8 t2 X- O7 t" Sto scatter
  J, N7 V1 Q8 q$ C4 |5 Xask turtles with [remainder who 5 = 0]
# E- ]. S* Z6 A' [! ^4 p- h[5 q9 \8 @& B5 ]' m: C  r
set xcor xcor - 6 + random-float 15
. v' R7 r$ S) t. Tset ycor ycor - 6 + random-float 15
5 c6 f* [% n  S! []
0 N+ f6 o( T7 p1 Iend
% p& `& [" ^6 _) [3 u  ?: zto unit_plan * y8 a2 i! n  z3 d- u$ c
ask turtles [
9 R/ A4 ~* J! G# f+ ?if (remainder who 5 = 1) [set a who
: R( x6 y# ^) T+ r                          set x ( 0 - Wid / 2 ) + s# b' i& Q( j) y
                          set y  Dep / 2 ]
0 f3 T6 n4 X2 O6 R& F: S: d* W           set b  int (a / 5) * 57 ^; ], A( ]# t$ Y# i0 c+ z$ F
    setxy ( xcor-of turtle b + x )8 N/ P1 z3 l: ?4 ]9 d2 o4 c
          ( ycor-of turtle b + y )
* i2 J- h% V7 |& E) tif (remainder who 5 = 2) [set c who& o* @6 i8 [4 H1 c" g) Q% n! M  H# V
                          set x ( 0 - Wid / 2 ) 7 Z0 |4 g& s% g) b- R+ L
                          set y (0 - Dep / 2 )  ]9 W2 m9 v9 t$ y' K0 u
                          set d int (c / 5) * 5
9 s, i) F  c3 X4 y# l   setxy   ( xcor-of turtle d + x )& P! @3 X1 e* E
           (ycor-of turtle d + y )
- e! {" m! k' \  r; E          ( J( z  U/ |6 n; i; {# K" }
            # J4 p! m2 ~: b* i* L: {3 i
if (remainder who 5 = 3) [set k who
. y7 o0 v; l( w                          set x( Wid / 2)  5 Z. a: I& z. L( M5 [
                          set y (0 - Dep / 2 ) ]. A- B$ ^8 x' p' H1 G' V+ @8 s
                          set f int (k / 5) * 5
4 C6 D3 c$ J' r4 ]( O, M3 E% p  setxy   ( xcor-of turtle f + x )
+ d# c7 C5 r. q3 o" f; r) _           (ycor-of turtle f + y )
7 H! f: d$ a/ c! V# C) O             \9 J+ f6 _3 F0 y1 @
           
- v9 k7 p8 a* Oif (remainder who 5 = 4) [set g who, P( L) U' @# m2 B2 h9 H
                          set x Wid / 2
' U3 X6 r7 u7 g5 @5 l                          set y  Dep / 2 ]* u! g5 X9 z* |; b/ p
                          set h  int (g / 5) * 53 D; G8 j) b! E
  setxy   ( xcor-of turtle h + x )5 N8 L: I! V7 ^, \5 r
           (ycor-of turtle h + y ) $ u- y$ F' F. ]. F& x, z& ^
                          
* o/ [7 U' A5 h9 j5 e- F, i$ T                          : \# B: d3 t9 z1 u/ g
                          ]; l, F  `6 F5 }% Y' N
end
; q% d/ d7 n) [3 m
0 z3 r( a- M8 N0 L[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,# z1 F1 T& ^7 g" h" l( u
应该是2 K: B3 `6 Y4 x: z% |% H6 S  m/ b
ask turtles [" ~$ K7 ~  a9 _. K1 }: R
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) + R2 h, O+ v) r( }* J6 j+ T
                          set y  Dep / 2 0 S7 d6 r2 H, w& }% ]8 \2 O
           set b  int (who / 5) * 5
6 G5 k3 m, }* c  [( G    setxy ( xcor-of turtle b + x )
( y3 a/ F$ G! k1 J* I6 A& [          ( ycor-of turtle b + y )]]. E% \. }% j3 ^( ]
end
* [, I9 q# ], I' _之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-15 02:41 , Processed in 0.021390 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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