public Z() { offsetPieceHorizontal = 6; // Offset pour placer la pièce au milieu de plateau offsetPieceVertical = 0; sens = 0; hauteurPiece = 4; largeurPiece = 4; couleur = Color.FromArgb(235, 0, 0); representation = new Case[hauteurPiece, largeurPiece]; for (int i = 0; i < hauteurPiece; i++) { for (int j = 0; j < largeurPiece; j++) { representation[j, i] = new Case(j + offsetPieceHorizontal, i + offsetPieceVertical, this); } } initialiserPiece(); }
// Constructeur de la pièce public L() { offsetPieceHorizontal = 6; // Offset pour placer la piece au milieu de l'écran au départ. offsetPieceVertical = 1; sens = 0; hauteurPiece = 4; largeurPiece = 4; couleur = Color.FromArgb(255, 127, 0); representation = new Case[hauteurPiece, largeurPiece]; for (int i = 0; i < hauteurPiece; i++) // Parcours de la representation de la piece { for (int j = 0; j < largeurPiece; j++) // Création d'un tableau de case correspondant à la pièce { representation[j, i] = new Case(j + offsetPieceHorizontal, i + offsetPieceVertical, this); } } initialiserPiece(); }
public Barre() { // Initialisation de la pièce sens = 0; offsetPieceHorizontal = 6; offsetPieceVertical = 0; hauteurPiece = 4; largeurPiece = 4; couleur = Color.FromArgb(121, 248, 248); representation = new Case[hauteurPiece, largeurPiece]; for (int i = 0; i < hauteurPiece; i++) { for (int j = 0; j < largeurPiece; j++) { representation[j, i] = new Case(j + offsetPieceHorizontal, i + offsetPieceVertical, this); } } initialiserPiece(); }
// Constructeur par défaut public Jeu() { // Initialisation des variables resetEvent = new ManualResetEvent(true); randNum = new Random(); plateau = new Case[NB_CASE_HAUTEUR, NB_CASE_LARGEUR]; estPerdu = false; waveOutDevice = new WaveOut(); audioFileReader = new AudioFileReader("Musiques/Tetris.mp3"); LoopStream loop = new LoopStream(audioFileReader); waveOutDevice.Init(loop); waveOutDevice.Play(); for (int i = 0; i < NB_CASE_HAUTEUR; i++) { for (int j = 0; j < NB_CASE_LARGEUR; j++) { plateau[j, i] = new Case(j, i); } } pieceCourante = pieceSuivante(); // On récupére la pièce suivante pieceApres = pieceSuivante(); // Déclaration de l'évenement }
// Méthode qui definit si une ligne est compléte public bool ligneEstComplete(Case[,] plateau, int indice) { bool estComplete = true; for (int j = 0; j < NB_CASE_LARGEUR; j++) // On parcours une ligne { if (!plateau[j, indice].estColore) // Si on trouve une case pas colorée la ligne n'est pas compléte { estComplete = false; break; } } return estComplete; }
// Permet de copier une case (Utile pour le décalage de ligne dans le plateau) public void ClonerCase(Case aCloner) { this.estColore = aCloner.estColore; this.piece = aCloner.piece; }