public static IGameMove ParseStep(this char cellChar, Row row, Column column) { switch (char.ToLower(cellChar)) { case 'x': return new TicMove(row, column); case '0': return new TacMove(row, column); default: return new NoMove(row, column); } }
public IGameMove Make(Row row, Column column) { var move = _moves.LastOrDefault(); if (move == null || move.GetType() == typeof (TacMove)) { move = new TicMove(row, column); } else { move = new TacMove(row, column); } Make(move); return move; }
protected bool Equals(Column other) { return Value == other.Value; }