// Обработка ввода void MainFormKeyDown(object sender, KeyEventArgs e) { e.SuppressKeyPress = true; if (Game.GameOver || Game.Paused) { return; } if (e.KeyData == Keys.Left || e.KeyData == Keys.A) { GF.MoveLeft(); } if (e.KeyData == Keys.Right || e.KeyData == Keys.D) { GF.MoveRight(); } if (e.KeyData == Keys.Up || e.KeyData == Keys.W) { if (GF.Drop()) { SetScore(Game.Score + 5); } } if (e.KeyData == Keys.Down || e.KeyData == Keys.S) { if (GF.MoveDown()) { SetScore(Game.Score + 1); } } if (e.KeyData == Keys.Space) { GF.RotateFigure(); } if (e.KeyData == Keys.Q) { if (!Game.FigureChanged && GF.IsFigureFalling) { Game.NextFigure = new Figure(GF.ChangeFigure(Game.NextFigure).Type); Preview.Clear(); Preview.SetFigure(Game.NextFigure.MoveTo(1, 1), false); Game.FigureChanged = true; if (Game.NextFigure == Figure.Zero) { OnGameOver(); } } if (Game.FigureChanged) { ShowAdvice(0); } } Refresh(); }