示例#1
0
        public void CheckIfGridIsFull_ShouldReturnTrue_WhenGridIsFull()
        {
            gridService.SetNewGrid();
            var mainGrid = gridService.mainGrid;

            // fill grid up with 1s
            for (int i = 0; i < mainGrid.GetLength(0); i++)
            {
                for (int j = 0; j < mainGrid.GetLength(1); j++)
                {
                    mainGrid[i, j] = 1;
                }
            }

            bool expected = true;
            var  result   = gridService.CheckIfGridIsFull();

            Assert.AreEqual(expected, result);
        }
示例#2
0
        public void Start()
        {
            ConsoleKey key;

            do
            {
                key = Console.ReadKey(true).Key;

                if (gridService.CheckIfGridIsFull() == true)
                {
                    Console.WriteLine("Game over!");
                    break;
                }

                if (gridService.CheckFor2048() == true)
                {
                    Console.WriteLine("You win!");
                    break;
                }

                if (key == ConsoleKey.D)
                {
                    Console.Clear();
                    var changes = !movementService.AddNumbersRight(mainGrid);
                    if (changes == true)
                    {
                        gridService.AddNewNumberToGrid();
                    }
                    drawingService.PrintTable(mainGrid);
                }

                else if (key == ConsoleKey.A)
                {
                    Console.Clear();
                    var changes = !movementService.AddNumbersLeft(mainGrid);
                    if (changes == true)
                    {
                        gridService.AddNewNumberToGrid();
                    }
                    drawingService.PrintTable(mainGrid);
                }

                else if (key == ConsoleKey.S)
                {
                    Console.Clear();
                    var changes = !movementService.AddNumbersDown(mainGrid);
                    if (changes == true)
                    {
                        gridService.AddNewNumberToGrid();
                    }
                    drawingService.PrintTable(mainGrid);
                }

                else if (key == ConsoleKey.W)
                {
                    Console.Clear();
                    var changes = !movementService.AddNumbersUp(mainGrid);
                    if (changes == true)
                    {
                        gridService.AddNewNumberToGrid();
                    }
                    drawingService.PrintTable(mainGrid);
                }
            } while (key != ConsoleKey.Escape);
        }