Ejemplo n.º 1
0
 public static string ToBoardChar(this Cell.Marker mark)
 {
     return(mark switch
     {
         Cell.Marker.Empty => " ",
         Cell.Marker.Circle => "O",
         Cell.Marker.Cross => "X",
         _ => throw new ArgumentOutOfRangeException(nameof(mark), $"Invalid enum value {mark}"),
     });
Ejemplo n.º 2
0
 public override Player Register(string name, Cell.Marker mark)
 {
     throw new InvalidOperationException("Cannot register player while active");
 }
Ejemplo n.º 3
0
 public override Player Register(string name, Cell.Marker mark)
 {
     throw new InvalidOperationException("Cannot Turn, game ended with a Win");
 }
Ejemplo n.º 4
0
 public override Board Play(Coordinate coordinate, Cell.Marker mark)
 {
     Parent.Matrix[coordinate].Mark = mark;
     return(this);
 }
Ejemplo n.º 5
0
 public abstract Board Play(Coordinate coordinate, Cell.Marker mark);
Ejemplo n.º 6
0
 public abstract Player Register(string name, Cell.Marker mark);
Ejemplo n.º 7
0
 public override Player Register(string name, Cell.Marker mark)
 {
     Parent.Name = name;
     Parent.Mark = mark;
     return(new PlayerStateActive(Parent));
 }
 public override Board Play(Coordinate coordinate, Cell.Marker mark)
 {
     throw new InvalidOperationException("Cannot play on a Blanco board. Initialize before playing");
 }
 public override Board Play(Coordinate coordinate, Cell.Marker mark)
 {
     throw new InvalidOperationException("Play on a finished board");
 }