コード例 #1
1
ファイル: Plateau.cs プロジェクト: clusson/Tetris-WPF
        //Nous avons besoin : lignes, colonnes , score, lignes remplies et quelques effets
        public Plateau(Grid TetrisGrid)
        {
            //État actuel des valeurs , les lignes et les colonnes sont à compter,
            //elles ont déjà été déclarés dans le fichier XAML.
            Lignes = TetrisGrid.RowDefinitions.Count;
            Colonnes = TetrisGrid.ColumnDefinitions.Count;

            Score = 0;
            LignesRemplies = 0;

            BlockControls = new Label[Colonnes, Lignes];
            for (int i = 0; i < Colonnes; i++)
            {
                for (int j = 0; j < Lignes; j++)
                {
                    BlockControls[i, j] = new Label();
                    BlockControls[i, j].Background = Nocolor;
                    BlockControls[i, j].BorderBrush = BlackColor;
                    BlockControls[i, j].BorderThickness = new Thickness(0.3, 0.3, 0.3, 0.3);
                    Grid.SetRow(BlockControls[i, j], j);
                    Grid.SetColumn(BlockControls[i, j], i);
                    TetrisGrid.Children.Add(BlockControls[i, j]);
                }
            }
            Piece = new Piece();
            pieceDessin();
        }
コード例 #2
0
ファイル: Plateau.cs プロジェクト: clusson/Tetris-WPF
 //Méthode pour vérifier si le mouvement vers le bas est possible
 public void PieceMovDown()
 {
     Point Position = Piece.getPosition();
     Point[] Forme = Piece.getForme();
     bool move = true;
     currJeuSuppr();
     foreach (Point S in Forme)
     {
         //La pièce est en bas du plateau
         if (((int)(S.Y + Position.Y) + 2 + 1) >= Lignes)
         {
             move = false;
         }
         //Si pièce en dessous
         else if (BlockControls[((int)(S.X + Position.X) + ((Colonnes / 2) - 1)),
             (int)(S.Y + Position.Y) + 2 + 1].Background != Nocolor)
         {
             move = false;
             //Si la pièce touche une autre au niveau de la première ligne
             if (S.X + Position.X == 0 && S.Y + Position.Y == -1)
             {
                 partiePerdue();
             }
         }
     }
     if (move)
     {
         Piece.movDown();
         pieceDessin();
     }
     else
     {
         pieceDessin();
         CheckLignes();
         Piece = new Piece();
     }
 }