public CustomWindow() { InitializeComponent(); AllFigBrushes = new List <Brush>(10) { Brushes.Cyan, Brushes.Orange, Brushes.Red, Brushes.Yellow, Brushes.Purple, Brushes.Blue, Brushes.Green, }; int count = AllFigBrushes.Count; for (int i = 0; i < count; i++) { AllFigBrushes.Add(new LinearGradientBrush(((SolidColorBrush)AllFigBrushes[i]).Color, Colors.White, 90)); AllFigBrushes.Add(new LinearGradientBrush(((SolidColorBrush)AllFigBrushes[i]).Color, Colors.White, 45)); AllFigBrushes.Add(new LinearGradientBrush(((SolidColorBrush)AllFigBrushes[i]).Color, Colors.White, 0)); AllFigBrushes.Add(new LinearGradientBrush(((SolidColorBrush)AllFigBrushes[i]).Color, Colors.Black, 90)); AllFigBrushes.Add(new LinearGradientBrush(((SolidColorBrush)AllFigBrushes[i]).Color, Colors.Black, 45)); AllFigBrushes.Add(new LinearGradientBrush(((SolidColorBrush)AllFigBrushes[i]).Color, Colors.Black, 0)); } AllFieldBrushes = new List <Brush>(10) { Brushes.White, Brushes.Black, Brushes.DarkBlue, Brushes.Silver }; I = new GridField(FigGrid_I); J = new GridField(FigGrid_J); L = new GridField(FigGrid_L); T = new GridField(FigGrid_T); S = new GridField(FigGrid_S); Z = new GridField(FigGrid_Z); O = new GridField(FigGrid_O); Main = new GridField(MainGrid); MainT = new Tetramino('I'); indexFig = AllFigBrushes.FindIndex(x => x == MainT.Color); indexField = AllFieldBrushes.FindIndex(x => x == GridField.fieldBrush); indexGran = AllFieldBrushes.FindIndex(x => x == GridField.granBrush); FigColor = MainT.Color; MainT.MoveDown(); GranColor.Fill = GranBrush; FieldColor.Fill = FieldBrush; RePaintFig(); }
/// <summary> /// Создать игровое поле /// </summary> /// <param name="TetrisGrid">Grid основного игрового поля</param> /// <param name="NextFigGrid">Grid для показа следующей фигуры</param> public Table(Grid TetrisGrid, Grid NextFigGrid) { TetrisField = new GridField(TetrisGrid); this.NextFigGrid = new GridField(NextFigGrid); LvlUp = false; score = 0; linesAssembled = 0; lvl = 1; thisLevelLinesAssembled = 0; currentTetramino = new Tetramino(); TetrisField.TetraminoDraw(currentTetramino); nextTetramino = new Tetramino(); this.NextFigGrid.TetraminoDraw(nextTetramino); }