예제 #1
0
 private static void CheckMoveIsValidAndUpdateGrid(Moves moveToAdd, Tuple <ushort, ushort> positionOnGrid)
 {
     if (TurnValidator.ThisMoveIsNotSameAsLastMove(_lastMove, moveToAdd) == MoveCategory.MoveIsValid && TurnValidator.CurrentMoveIsOverwrite(positionOnGrid) == MoveCategory.MoveIsValid)
     {
         GridUpdater.InsertIntoGrid(positionOnGrid, moveToAdd);
         _lastMove = moveToAdd;
         NumberOfTurns++;
     }
 }
예제 #2
0
 public static MoveCategory CurrentMoveIsOverwrite(Tuple <ushort, ushort> positionOnGrid)
 {
     if (GridUpdater.GetValueAt(positionOnGrid) != Moves.Blank)
     {
         Console.WriteLine("\nThat position is filled, try one of the blanks...\n");
         return(MoveCategory.PositionAlreadyFilledError);
     }
     return(MoveCategory.MoveIsValid);
 }
예제 #3
0
 public static void PrintGrid()
 {
     GridUpdater.PrettyPrint();
 }
예제 #4
0
        public static bool HasNotBeenWon()
        {
            var gridToCheckWin = GridUpdater.GetGrid();

            return(!WinChecker.HasWon(gridToCheckWin, _lastMove));
        }