设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7095|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。! j' }2 |3 J5 h. C/ r/ [

/ S( m: j7 F3 p8 c' o6 z. ?但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 L+ c5 ?; m5 @6 C6 L7 n- P
& M( {6 S5 H! E- |, h. D$ V
turtles-own [a b c d k f g h) u! d3 M( _+ |6 L6 j
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle   S  ~1 ]* g3 q# N, Z; O
]
+ s4 c4 c2 O% a7 Z' _# Pto new
+ `- {% o( t0 ]6 |  ca
0 O# e  e; p' v& Z, I* G  crt 5 * num_of_building) J+ G3 T! L1 u4 \9 H4 G$ O
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]6 b- }3 F7 c. x) X& ~2 z: r5 b
  scatter     ;;keep center-turtle random positions 7 X, B. e5 W. S
  unit_plan   ;;make up the building plan
4 p, P! l8 ?- G: z) J3 Pend8 o( I# w  f% D5 W( D3 b( s
to scatter
% m% b1 J! Y" g! {# ^ask turtles with [remainder who 5 = 0]
. q/ |% a& }! }0 L; m; K[  q) p$ }/ s" O( x6 R
set xcor xcor - 6 + random-float 156 W% h$ G+ B5 U8 S+ x
set ycor ycor - 6 + random-float 15
; h7 n. y# ?( [/ w& V$ ~. w6 Q]
: C& W# k% H+ k) {  send
8 ~# A3 L8 A1 I3 G2 W* a- x: \to unit_plan
0 X6 m# J7 d& }6 hask turtles [! I, m( r4 u- ?* _/ I: }5 I
if (remainder who 5 = 1) [set a who & i- O3 F/ C& b7 Z! y$ r# G
                          set x ( 0 - Wid / 2 )
9 [: ?# n# z# W% X3 p2 R                          set y  Dep / 2 ]
% z" C* n5 a* e/ l           set b  int (a / 5) * 56 c1 a& D: R3 t+ p% I+ T2 P
    setxy ( xcor-of turtle b + x )
+ ~* ]' ]: `; H+ A0 C- _          ( ycor-of turtle b + y )
/ O2 W" A/ A8 \0 ?$ a6 T0 @9 K: e, h. pif (remainder who 5 = 2) [set c who" O3 R" P. P5 {' I6 C
                          set x ( 0 - Wid / 2 )
5 c9 Y) e% ?0 S+ z; s$ d6 D" o8 G                          set y (0 - Dep / 2 )  ]
2 H. m+ B1 S+ H                          set d int (c / 5) * 52 Q) q2 t, Y+ `, U, F' \
   setxy   ( xcor-of turtle d + x )
/ @6 ^; t* m, x. W           (ycor-of turtle d + y ) . d/ O4 t: p+ ^9 w
          + ~1 _; j& @9 `* ]* q
            
( r# g9 o( U/ {. P5 `if (remainder who 5 = 3) [set k who
8 ~3 x3 H: n7 M0 P/ ~                          set x( Wid / 2)  0 Q- z' U7 I5 a$ ]
                          set y (0 - Dep / 2 ) ]) {2 _' j! B- ~1 f
                          set f int (k / 5) * 54 `1 [, b7 [$ k4 V' B3 R, M
  setxy   ( xcor-of turtle f + x )
( {* i: @" s7 R1 L           (ycor-of turtle f + y ) / x5 O9 M- J( C  Z% t
           , f5 F) K6 r" g5 B* E0 f3 x
           
0 U# l3 s' ~& ]) o; [if (remainder who 5 = 4) [set g who
7 i/ K0 u0 e. A6 Q4 m/ l                          set x Wid / 2 ' F1 J% g" t$ [3 s3 b3 l0 I
                          set y  Dep / 2 ]6 l1 j& @4 Q' U; Z) x1 h
                          set h  int (g / 5) * 5
; S5 x- }% O- f1 F0 Y, U1 W  setxy   ( xcor-of turtle h + x )5 G- {* s9 p, V  Y
           (ycor-of turtle h + y )
: e0 `0 D8 W) `) z$ h                          6 n5 }6 Q. D7 {. }! d9 a* o
                          
% d) H! j1 r+ X                          ]
2 x+ Y4 I0 C$ A' t, D  h2 ?end0 b5 g1 a4 L" y2 b
# b7 r- }- V! D" s5 |
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,5 A8 F; p, C0 B3 q5 \
应该是+ t' |+ S6 \8 ]/ K
ask turtles [
3 r% @: T9 O8 m: d; `9 qif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
6 p7 T0 e8 }' v4 [+ j1 @8 r                          set y  Dep / 2 # j, [/ I( s; _( E+ V6 k
           set b  int (who / 5) * 5. O: d7 L$ u- q+ _2 e
    setxy ( xcor-of turtle b + x )# b$ b! N' y8 n& k: `7 d* `
          ( ycor-of turtle b + y )]]
; s, R1 i8 @* s. Tend
# ^0 W2 R( r( n之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-29 18:39 , Processed in 0.015935 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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