设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6852|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
0 ]6 w% h: t+ Q* B; T: z1 \
; m% X' ~: H. [# O* F; A! X% u4 M6 J但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 C4 V* r  I$ F& ~
- @5 v2 [  h; t6 ^
turtles-own [a b c d k f g h" d. a! A  S) H2 Z: L" l
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
* _4 U4 T5 f5 B; |* r, E0 r]
/ V2 R9 ]: q+ }& z4 V( i2 ^5 kto new% G  O: A; r1 {# b, o. q
  ca+ W- @5 a" c  X' P
  crt 5 * num_of_building) @9 c% s1 Q/ R% ]2 r& J
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 t9 T9 j3 M( g& Z" }; Z  scatter     ;;keep center-turtle random positions 9 X( x8 @; r2 n3 _
  unit_plan   ;;make up the building plan
5 f/ H. L. h. r. M/ L; }end
! t' {6 {$ O6 e5 |5 @/ L' c& cto scatter5 m0 a1 y$ ]* I( o
ask turtles with [remainder who 5 = 0]8 s: t8 y' a, G
[/ F$ a. l% M# @/ y& A
set xcor xcor - 6 + random-float 15
  ?9 V3 ^/ @) s2 [( Q; x' @set ycor ycor - 6 + random-float 15+ a5 T" b+ E1 G# E" l
]
  r- J& D5 `' Y) }: M) uend
! D6 X' B$ D8 M( X( @to unit_plan
" K4 t4 m( [" l# g! ]! d- fask turtles [5 U9 w% p5 R, i: t) y1 `
if (remainder who 5 = 1) [set a who 1 B5 M, ]+ ^/ y7 E  Y0 p) @. q
                          set x ( 0 - Wid / 2 )
* v  C9 l: Z+ ]/ E! \                          set y  Dep / 2 ]" b. S7 D/ i0 M+ _4 I' a3 k- M$ i
           set b  int (a / 5) * 5  L' ~7 b* }& P; G2 H
    setxy ( xcor-of turtle b + x )( y' G$ {3 W* u" \/ v/ ?& e
          ( ycor-of turtle b + y )- [/ i! v: U; N6 U! t. j
if (remainder who 5 = 2) [set c who
+ B+ I) z8 M  O9 F0 a                          set x ( 0 - Wid / 2 )
$ X& N$ x9 T5 v: S5 s2 {; R                          set y (0 - Dep / 2 )  ]: C, O( |1 X' \$ y! o! }$ J
                          set d int (c / 5) * 5
1 o- H. M% o! x4 H) F* W3 D   setxy   ( xcor-of turtle d + x )
+ f* s& l1 `- P) s: D, B4 C           (ycor-of turtle d + y )
+ ?; {4 [1 ^8 }2 ?4 ]8 N         
& J" M1 p1 Q/ _- y( F            7 x1 R- X9 h+ ^5 ]" f
if (remainder who 5 = 3) [set k who
% u. |4 {: j$ c9 s# H                          set x( Wid / 2)  
! c; t. G9 D- ?  }5 T9 O0 |                          set y (0 - Dep / 2 ) ]/ ^' j5 @% s, ]
                          set f int (k / 5) * 5
/ ]3 H4 p0 x& G3 Z5 W& {  setxy   ( xcor-of turtle f + x )
5 j/ @0 M2 H0 k& Z: P7 |           (ycor-of turtle f + y )
$ e) |+ n8 T5 c           
- S  D& Z. f( d/ @5 R# r           
( r& n- k- F9 C. wif (remainder who 5 = 4) [set g who
' F' T. L! k& X9 Z2 p  K                          set x Wid / 2 3 [9 s" ^3 c: k
                          set y  Dep / 2 ]
1 U! g0 z# a# N" B. r; a1 l                          set h  int (g / 5) * 5
5 x1 j9 e' T1 y' E, l* m6 v  setxy   ( xcor-of turtle h + x )
1 c9 K$ s- }- P: ~! K# [           (ycor-of turtle h + y )
  J$ l) L; F+ S9 I+ ]  K                          # L% k! r0 H0 l  T  E2 `
                          6 F1 L% J1 w" L& D1 F8 D
                          ], O4 G, b* A3 b
end
) ~# Y! x  h. F! x2 \$ `& B, y4 g$ g. x8 t
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,( J! H! R2 x- D; P* t
应该是
/ B2 U: }9 ]% Q! i, e2 {1 G5 mask turtles [" V5 n- s0 ]3 w7 G+ G- p' u
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) / x! q0 _6 Y( i: ]
                          set y  Dep / 2
$ h) \; p% E* Z; F. \: |$ `5 `7 \           set b  int (who / 5) * 5
3 d' d* }' a$ y4 z( ~& @. A9 h$ N9 q    setxy ( xcor-of turtle b + x )
4 ]6 z6 `7 o) Z: ?/ e          ( ycor-of turtle b + y )]]
2 R0 p( O$ ?# g$ B/ r* {1 bend
2 c! I$ _9 l+ S& h. [之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-30 03:44 , Processed in 0.019474 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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