//przypisanie wartości z istniejącego grida public Plansza(Grid grid) { kolumny = grid.ColumnDefinitions.Count; wiersze = grid.RowDefinitions.Count; punkty = 0; wypelnienia = 0; kontrolne = new Label[kolumny, wiersze]; czyPrzegrana = false; //wypełnienie grida siatką for (int i = 0; i < kolumny; i++) { for (int j = 0; j < wiersze; j++) { kontrolne[i, j] = new Label(); kontrolne[i, j].Background = brak; kontrolne[i, j].BorderBrush = szary; kontrolne[i, j].BorderThickness = new System.Windows.Thickness(1, 1, 1, 1); Grid.SetRow(kontrolne[i, j], j); Grid.SetColumn(kontrolne[i, j], i); grid.Children.Add(kontrolne[i, j]); } } //stworzenie pierwszego i drugiego tetromino; umieszczenie pierwszego tetromino na planszy tetromino = new Tetromino(); kolejneTetromino = new Tetromino(); UmiescTetromino(); }
public void TetrominoDol() { Point pozycja = tetromino.wezPolozenie(); Point[] ksztalt = tetromino.wezKsztalt(); bool ruch = true; UsunTetromino(); foreach (Point p in ksztalt) { if (((int)(p.Y + pozycja.Y) + 2) >= wiersze) { ruch = false; } else if (kontrolne[((int)(p.X + pozycja.X) + ((kolumny / 2) - 1)), (int)(p.Y + pozycja.Y) + 2].Background != brak) { ruch = false; } } if (ruch) { tetromino.Dol(); UmiescTetromino(); } else { UmiescTetromino(); SprawdzWiersze(); tetromino = kolejneTetromino; czyPrzegrana = Przegrana(); kolejneTetromino = new Tetromino(); } }