设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7932|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。+ h, S, K. H% O7 T3 b8 _/ w
: C9 I. U# {) K: r
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
0 H& b: m- o& a" i( H
2 t5 N5 e% ]# n6 M* Eturtles-own [a b c d k f g h- |2 a: q1 E$ @, u) `* ~0 |+ v
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle # X& Y2 o) E3 ^- s/ M
]
* [' A8 ?& r, ^3 E1 w  Ato new) Y* s8 R: u: |: |" \) Y2 b
  ca
0 U) J% T$ `/ z. S9 y% \  crt 5 * num_of_building% |3 {6 K; l% \  Z
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]3 z, }# x! V% X6 \
  scatter     ;;keep center-turtle random positions
( T5 ^/ o1 M; _& x6 n, h9 O  unit_plan   ;;make up the building plan& ~1 I4 m- L8 S5 ^. [# s: a
end
; m6 j7 |  r$ v  `7 z! ?, Y- \4 Uto scatter( j4 |  h6 g8 H! F8 w
ask turtles with [remainder who 5 = 0]
+ `7 n; d1 ?4 e6 f6 g4 `1 c; X[7 ^* G/ d$ I. i& d& {
set xcor xcor - 6 + random-float 15$ |% P* |1 n" I
set ycor ycor - 6 + random-float 151 ?& `( e& B* b6 y+ o) P
]+ p/ \% E% H- S7 }- b
end$ m( P( p: K3 `* Z  |9 Z
to unit_plan * x9 |9 g+ Q" K* n
ask turtles [
2 Z$ k4 D) \& [' o  I& R" Vif (remainder who 5 = 1) [set a who 1 v+ A0 [" x8 P% T! [9 ^: j
                          set x ( 0 - Wid / 2 ) % s" y' O7 _: ?! }4 v/ ]& p0 R
                          set y  Dep / 2 ]8 Y! ]+ ?9 h9 p8 u. X
           set b  int (a / 5) * 5
1 T4 J) o  z% ^  v    setxy ( xcor-of turtle b + x )5 M( F3 U# ^* B0 b! j' g! r$ D/ u/ ]0 h
          ( ycor-of turtle b + y )5 d$ ~- j& r/ Q4 C
if (remainder who 5 = 2) [set c who* F9 R4 x% N# C5 Y5 x7 X8 o
                          set x ( 0 - Wid / 2 ) 8 j( h9 k; R+ n! D. C' i
                          set y (0 - Dep / 2 )  ]
  h- `! J9 {9 i- |$ R  e                          set d int (c / 5) * 5
# s+ [. D0 \6 p  K1 K, {   setxy   ( xcor-of turtle d + x )
2 ?7 G/ k2 d% s! e9 w1 ]           (ycor-of turtle d + y ) 3 K8 E: a; H. R
         
9 c, w+ |5 X8 U, t- `, i0 \            
1 ~1 d1 m! |) N: Gif (remainder who 5 = 3) [set k who: Y0 B/ h* O3 A* F9 J0 |
                          set x( Wid / 2)  
0 w$ y( W$ E2 X5 N, F                          set y (0 - Dep / 2 ) ]+ q* G2 I& O6 u9 Y" f4 o% F" |% O, U
                          set f int (k / 5) * 54 s2 i. r, J* C- g' u1 x. ~
  setxy   ( xcor-of turtle f + x )6 h: w1 Y/ x; {  P. i
           (ycor-of turtle f + y ) 6 W% ]4 \) b) C6 J% L. o
           
9 D+ `3 ]; E6 \0 G. l7 w           
  M: z# ]) L5 ~: n& n% @6 d4 I9 g! Nif (remainder who 5 = 4) [set g who
* f8 d/ }8 ~0 C& c                          set x Wid / 2
( }, ?6 O5 V9 W; x) F; D3 T: f1 W                          set y  Dep / 2 ]
5 g$ v8 K+ h0 ^* e3 L                          set h  int (g / 5) * 5) L# q: l. G# K9 d+ [8 l4 `. c  |; d8 U
  setxy   ( xcor-of turtle h + x )
  ^+ d3 g8 J) h1 r           (ycor-of turtle h + y ) ( Z7 K" N4 B8 Z; G
                          ; E8 M1 Q) D. d9 k% i/ y$ @& J- Q- s
                          
0 y7 `+ Y- q8 `4 a# Y7 E0 i' p                          ]8 B3 S, h+ u% X2 v7 X" c, N0 K
end
- H& L7 R! _9 M' W7 E  k. Q% {7 ]; \9 v9 W
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
  N, m' u& E) Q, D6 i! g' T  K7 [应该是2 r- @- ^& y1 P6 V
ask turtles [; \4 t7 d9 M, @! H' r
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 8 F0 y2 Z6 @3 |# u, I, O& T0 J
                          set y  Dep / 2
7 t* q' _' |4 S           set b  int (who / 5) * 59 C; X) {( A8 H* A% r
    setxy ( xcor-of turtle b + x )
/ {9 T9 S& A) t          ( ycor-of turtle b + y )]]
; {2 D$ o7 B& r) v: ?end9 G% b; l6 ^2 v0 I/ @) V" o
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-19 14:02 , Processed in 0.021040 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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