// 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(); } } }
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]); }
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]); }
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 }
// 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)); }