Example #1
0
        // Fonction UpdateGame : Cette méthode a plusieurs fonctions. Non seulement elle décrémente .e no
        // Aucun paramètre.
        // Visibilité : publique.
        // Aucune valeur de retour
        public void UpdateGame()
        {
            framesRemaingingBeforeMovingBlockDown--;

            if (framesRemaingingBeforeMovingBlockDown == 0)
            {
                if (activeBlock.CanMoveDown(this) == true) //Si cette alternative retourne faux, le bloc peux donc bouger
                {                                          //et le nombre de frames reviendra à 10.
                    activeBlock.MoveDown();
                    framesRemaingingBeforeMovingBlockDown = 10;
                }
                else                                       //Sinon, le bloc sera gelé, en plus qu'un nouveau Tetromino sera
                {                                          //généré en haut et que le nombre de frames reviendra à 10.
                    activeBlock.Freeze(this);
                    activeBlock = CreateNewTetromino();
                    framesRemaingingBeforeMovingBlockDown = 10;
                }
            }

            for (int j = 0; j < NB_COLUMNS; j++) //Cette boucle vérifie si les tetrominos débordent l'écran du jeu.
            {
                if (logicalGameBoard[0, j] == false)
                {
                    HandleEndOfGame();
                }
            }
        }
Example #2
0
        public void TestFreezeContent01()
        {
            Tetromino  block = new Tetromino(7, TetrisGame.NB_ROWS - 1, TetrominoType.Square);
            TetrisGame game  = new TetrisGame();

            bool[,] logicalGameBoard = game.GetLogicalGameBoard();

            game.FreezeContent(TetrisGame.NB_ROWS - 1, 7);
            Assert.IsFalse(logicalGameBoard[TetrisGame.NB_ROWS - 1, 7]);
        }
Example #3
0
        public void TestFreezeContent02()
        {
            // ppoulin
            // Test redondant avec le précédent.
            // Je ne comprends pas la situation que tu as voulu tester

            Tetromino  block = new Tetromino(9, 18, TetrominoType.Square);
            TetrisGame game  = new TetrisGame();

            bool[,] logicalGameBoard = game.GetLogicalGameBoard();
            game.FreezeContent(19, 9);
            Assert.IsFalse(logicalGameBoard[19, 9]);
        }
Example #4
0
        public void TestIsRowCompleted()
        {
            TetrisGame game = new TetrisGame();

            bool[,] logicalGameBoard = game.GetLogicalGameBoard();
            //Blocs de test générés. À décommenter s'il y a lieu.
            int j = 2;

            for (j = 2; j < logicalGameBoard.GetLength(1); j++)
            {
                logicalGameBoard[TetrisGame.NB_ROWS - 1, j] = false;
                logicalGameBoard[TetrisGame.NB_ROWS - 2, j] = false;
            }
            Tetromino block = new Tetromino(0, TetrisGame.NB_ROWS - 2, TetrominoType.Square);

            for (int k = 0; k < logicalGameBoard.GetLength(1) - 1; k++)
            {
                Assert.IsFalse(logicalGameBoard[TetrisGame.NB_ROWS - 1, k]);
                Assert.IsFalse(logicalGameBoard[TetrisGame.NB_ROWS - 2, k]);
            }
            // ppoulin
            // Ce test ne teste pas la méthode IsRowCompleted
        }
Example #5
0
 // Fonction CreateNewTetromino : Cette fonction ne fait que retourner un nouveau tetromino contrôlable par l'utilisateur,
 //qui est aussi assigné à la variable activeBlock.
 // Aucun paramètre.
 // Visibilité : publique
 // Retourne activeBlock, le nouveaun Tetromino contrôlable.
 public Tetromino CreateNewTetromino()
 {
     return(activeBlock = new Tetromino(7, 0, TetrominoType.Square));
 }