设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8928|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
; G/ Y6 O2 i9 D8 a
7 z; }4 r5 H' n) _但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
/ @# {8 v8 ]9 e0 K+ n3 i) I- ^8 x
  x5 c) a( w+ ~3 H4 p( S' p$ Yturtles-own [a b c d k f g h/ F6 {$ f9 m( J8 ~! C; p# k
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
5 K% s2 T0 g+ A' Q- c]" y( l2 f8 U6 [  ^% Y+ \. G6 v- J  t
to new
+ s+ d* k* K& Z8 k0 w  @: b1 i  ca* q9 O: b' D. X2 E% p
  crt 5 * num_of_building
5 q5 a3 @2 V0 i% {% L8 p  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 a7 l, q  J5 h  k; E  scatter     ;;keep center-turtle random positions
( D# l) c" g( v, T" i: h0 q: V$ b$ F5 [  unit_plan   ;;make up the building plan$ f" I) }1 t0 C: h! B
end6 F, h( y, q) Q3 |7 P& {. P
to scatter: K7 y) }: V# A+ N5 C# w* ?$ b: r
ask turtles with [remainder who 5 = 0]3 b1 l3 y! U( K/ s9 @) T+ O3 H
[5 G5 e0 f+ c0 s* H+ M1 o
set xcor xcor - 6 + random-float 15. P- j2 d# X+ A2 {4 V- c
set ycor ycor - 6 + random-float 15& \, w; R' ], F/ X8 G% y8 c0 t  Z
]( t- w* l3 I' ?% s9 I; t
end
8 e9 n6 ?( G; Y8 Pto unit_plan
- L: J0 J; v: ~+ b7 qask turtles [
% R# m2 }9 [; \( c+ F/ gif (remainder who 5 = 1) [set a who ) B& h* e# z8 t- l7 Y2 g
                          set x ( 0 - Wid / 2 )
$ ?" k' a, K: X                          set y  Dep / 2 ]
1 J$ i- ~+ A6 ^; @8 R, y( x           set b  int (a / 5) * 5
0 ~) x/ x, n- `0 c    setxy ( xcor-of turtle b + x )
) a. F; D+ l! H1 S( W6 {1 F) `          ( ycor-of turtle b + y )6 x) I2 |' _5 U' X
if (remainder who 5 = 2) [set c who
; v4 k; ~( G  J1 z2 x                          set x ( 0 - Wid / 2 )
5 `; m1 u' w5 k1 L) d                          set y (0 - Dep / 2 )  ]
, P9 [/ b! i( q+ ^! b! U  T+ }                          set d int (c / 5) * 5
8 m. ~1 l2 W  N/ m, X4 a   setxy   ( xcor-of turtle d + x )
4 s1 f( W8 d. j/ @           (ycor-of turtle d + y ) # `. l$ ]7 f6 u8 ?, \& D2 J$ L
          ( x/ ?, w4 W0 W4 K) ^2 Z3 _
            2 W- p1 Y) M8 L6 e9 D' n
if (remainder who 5 = 3) [set k who
5 s# ]; Z& z; N1 M) k# {                          set x( Wid / 2)  
# b+ B4 v0 E% F7 b0 U3 B5 f! T                          set y (0 - Dep / 2 ) ]
  Z0 j' `5 R+ z: N* b) b0 \                          set f int (k / 5) * 5; X$ U' L8 G9 e/ v) E2 N
  setxy   ( xcor-of turtle f + x )
+ ^. l3 |# T5 d) u- L3 i           (ycor-of turtle f + y )
8 Q- T/ f# @+ ~$ k' x  F' `2 A           
! l* Z3 n8 i$ h' h% r5 _" F" k           4 z' g. R0 n; V5 O* h# E
if (remainder who 5 = 4) [set g who
6 L' |2 {6 I' f( A, W( b7 S                          set x Wid / 2
( w4 u: t4 z3 p4 y8 }                          set y  Dep / 2 ]
; j* n! R& ~! ]                          set h  int (g / 5) * 5% j1 i: O0 Q2 x
  setxy   ( xcor-of turtle h + x )
3 Y! h: h& n6 U1 N           (ycor-of turtle h + y )
2 h5 N9 U1 z/ ^' @+ z% I                          
5 h6 B- H% y6 o9 n7 {2 k5 |  p- Y- y                          # s/ D# g1 L) a
                          ]& R* Z4 v$ e; ~, e) X4 Y; D
end
$ `! p& J, }$ f: {# n2 B# L
1 x0 Z- @+ E( u- f9 {, t[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,6 s+ q/ G8 K( R1 u
应该是
2 ?$ \* F0 H& C% X4 y8 E: V+ @ask turtles [
+ q3 K1 k" S; e$ m- n% ?+ jif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
; w& P$ {: P& C$ U- Z) l                          set y  Dep / 2 3 z* F! U5 {7 r5 R
           set b  int (who / 5) * 5
, z/ `$ H5 m: S    setxy ( xcor-of turtle b + x )
6 p& P0 a% y) w; E          ( ycor-of turtle b + y )]]7 ?: V% X. h4 g7 J( H
end
9 K: c. I6 z; {6 B$ r$ t' g之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-25 05:37 , Processed in 0.018524 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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