prologues := 1;
  beginfig(1);
    numeric u; u := 0.5cm;
    %sizes
    numeric h, w, r;
    h = 10u;
    w = 10u;
    r = 6u;
    %coords
    pair Ed, Pf, Ps, Df, Ds;
    Ed := (1u, 5u);
    Pf := (-2u, 4u);
    Ps := (6u, 2u);
    Df := (0u, 4u);
    Ds := (5u, 1u);
    %Field
    for i := 0 step u until h: 
      draw(-w, i)--(w, i);
    endfor;
    for i := -w step u until w: 
      draw(i, 0)--(i, h);
    endfor;
    drawarrow(-w, 0)--(w, 0)
      withpen pencircle scaled 2bp;
    drawarrow(0, 0)--(0, h)
      withpen pencircle scaled 2bp;
    draw(-r, 0){dir 90}..{dir 0}(0, r){dir 0}..{dir 270}(r, 0)
      withpen pencircle scaled 1.5bp withcolor red;
    %Basket
    pair A, B, C, D;
    A := (0, u/2);
    B := (u/2, 0);
    C := (0, -u/2);
    D := (-u/2, 0);
    draw A..B..C..D..cycle
      withpen pencircle scaled 1.5bp withcolor blue;
    draw C--(0, -u)
      withpen pencircle scaled 1.5bp withcolor blue; 
    draw (-u, -u)--(u, -u)
      withpen pencircle scaled 1.5bp withcolor blue; 
    label.bot(btex Basket ($0$, $0$) etex, 1/2[(-u, -u), (u, -u)]);
    label.bot(btex $X$ etex, (w, 0));
    label.rt(btex $Y$ etex, (0, h));
    %Players
    color purple;
    purple := 0.5 * red + 0.5 * blue;
    %Edward
    draw Ed
      withpen pencircle scaled 6bp withcolor purple;
    draw Ed+4A..Ed+4B..Ed+4C..Ed+4D..cycle  
      withpen pencircle scaled 0.7bp withcolor purple dashed evenly; 
    label.urt(btex $1$ etex, Ed) withcolor purple;

    %player first
    draw Pf
      withpen pencircle scaled 6bp withcolor purple;
    draw Pf+4A..Pf+4B..Pf+4C..Pf+4D..cycle  
      withpen pencircle scaled 0.7bp withcolor purple dashed evenly; 
    label.urt(btex $3$ etex, Pf) withcolor purple;

    %player second
    draw Ps
      withpen pencircle scaled 6bp withcolor purple;
    draw Ps+4A..Ps+4B..Ps+4C..Ps+4D..cycle  
      withpen pencircle scaled 0.7bp withcolor purple dashed evenly;
    label.urt(btex $2$ etex, Ps) withcolor purple; 
    
    %defender first
    color def;
    def := 0.5 * green + 0.1 * red + 0.1 * blue;
    draw Df
      withpen pencircle scaled 6bp withcolor def;
    draw Df
      withpen pencircle scaled 3bp withcolor white;
    label.urt(btex $2$ etex, Df) withcolor def;
    
    %defender first
    draw Ds
      withpen pencircle scaled 6bp withcolor def;
    draw Ds
      withpen pencircle scaled 3bp withcolor white;
    label.urt(btex $1$ etex, Ds) withcolor def;

  endfig;
end.    

