예제 #1
0
파일: Z.cs 프로젝트: Heliex/Tetris
 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();
 }
예제 #2
0
파일: L.cs 프로젝트: Heliex/Tetris
 // 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();
 }
예제 #3
0
파일: Barre.cs 프로젝트: Heliex/Tetris
 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();
 }
예제 #4
0
파일: Jeu.cs 프로젝트: Heliex/Tetris
        // 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
        }
예제 #5
0
파일: Jeu.cs 프로젝트: Heliex/Tetris
        // 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;
        }
예제 #6
0
파일: Case.cs 프로젝트: Heliex/Tetris
 // 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;
 }