设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8744|回复: 1

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

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

8 o; k! H( G9 m. B# l但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。- V3 [/ s" V, [' j  @& m
' o. Q# i" I3 R  U* y1 p5 m  k
turtles-own [a b c d k f g h
" N5 g: F- x+ t! N' ]* k  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
" x- a& B8 u! r: m7 L- e; Y]# {" O* ~' m% M  j
to new
7 j' l8 n1 N# P7 Y( |  u  `7 D/ O# s! p  ca5 P/ o- I! d! v5 B4 y
  crt 5 * num_of_building
1 c* A4 i3 g$ \& m1 b, W3 r  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
" {; s, o( M* N- F  scatter     ;;keep center-turtle random positions 8 q5 \0 j9 c7 w& A* h/ m; O
  unit_plan   ;;make up the building plan
/ U. F- D8 Q; g- p* k) r( Mend
7 v9 s, k/ H8 K' p; Pto scatter
# n9 `+ O2 G- N% S: R# ~# j2 F- Bask turtles with [remainder who 5 = 0]- \7 \4 O; j6 i/ D5 r4 I
[
8 M* A) O& J9 ?$ Qset xcor xcor - 6 + random-float 158 n$ W0 r: o- `# S
set ycor ycor - 6 + random-float 15' C$ D% X% [% U" `# Q1 g
], `* z/ ^( x; \- w
end* {: C3 D; [/ h$ K) R) B
to unit_plan 5 F: _' o: m7 ^* a. S
ask turtles [
9 n0 I9 T" x) A4 }% Aif (remainder who 5 = 1) [set a who & T- n2 j: ~/ C8 q$ I$ @
                          set x ( 0 - Wid / 2 )
! n% O0 D+ D* A                          set y  Dep / 2 ]) J* p0 c0 V" B  P* |
           set b  int (a / 5) * 5
2 S1 S  Y3 G6 U1 C" i5 |. F; L    setxy ( xcor-of turtle b + x )
# @+ w9 z$ a7 M          ( ycor-of turtle b + y )0 f4 s1 U& |, b! B& D- J& d) ?" P
if (remainder who 5 = 2) [set c who& M" @. f/ z# S4 X! x
                          set x ( 0 - Wid / 2 )
" W3 T; T0 w1 ]: P  V0 s5 G' |+ _                          set y (0 - Dep / 2 )  ]. a; T" s, B& P; F, E- _4 }
                          set d int (c / 5) * 5
! I" d1 q) t: ^- D   setxy   ( xcor-of turtle d + x )3 e" d! A+ |, f$ o" }
           (ycor-of turtle d + y ) $ }: p* A- S  |8 @& O/ o/ F) V5 p
         
0 B; V. R. X; q            
- r9 t4 V2 c. a4 H; K  yif (remainder who 5 = 3) [set k who
* B5 I1 A2 A. I8 T6 I+ R  D$ v5 ]                          set x( Wid / 2)  ' i+ r% v: ~. {5 f4 b4 K- d; x
                          set y (0 - Dep / 2 ) ]/ s/ Z( C. _* e* a
                          set f int (k / 5) * 5: u+ R. B+ \; v9 c# S6 D  G  x
  setxy   ( xcor-of turtle f + x ): _3 n6 a0 G5 Y- Q
           (ycor-of turtle f + y )
. {+ a5 V0 }: C% Y0 `           3 s. f5 n: P9 E3 c! H- Y4 c
           ( C/ e! J! _: K; z6 a  J% L
if (remainder who 5 = 4) [set g who# D' t- j8 u! \( O! Y4 z
                          set x Wid / 2 # r7 n, o' E) q- b/ i- r2 N
                          set y  Dep / 2 ]7 E2 {3 D7 `" D* F5 f
                          set h  int (g / 5) * 5" m  J# V6 w) @
  setxy   ( xcor-of turtle h + x )
9 N! G' i4 J: |           (ycor-of turtle h + y ) 3 [% k  p3 }" S! d
                          ( g2 x$ ~" G, t3 s0 x" n
                            a1 q) g( Y0 n; X) ^, @3 f
                          ]) z# H& g2 Q, P, ?/ i
end
$ w' m/ N' G# S- `, m
" d1 w! }' P2 @! S, g' F[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," P  N% B- C9 [/ ]4 H
应该是% _. w' s4 i" R! y5 t
ask turtles [
0 ^8 u1 |& e0 w% X: v1 Wif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # j9 N- ^% q+ \
                          set y  Dep / 2 $ M- F5 S4 w0 C
           set b  int (who / 5) * 5. c( h& O5 ~) H/ e0 D" X
    setxy ( xcor-of turtle b + x )
1 i4 f9 Z& V, m. g# d          ( ycor-of turtle b + y )]]
6 D+ L9 R* J+ n& fend2 R4 w8 {% h% \: t: E) L
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-31 11:37 , Processed in 0.015744 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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