public void Played(Button button, Button buttonRestart, Label labelName, Label labelScore, Label labelLost, TextBox box ) { Controls.Add(button); Controls.Add(labelName); Controls.Add(labelScore); Controls.Add(box); var timer = new Timer(); this.KeyDown += (sender, args) => { switch (args.KeyCode) { case Keys.Down: timer.Interval = 50; break; case Keys.Up: if (Checked.CheckPossibilityRotare(figure, map)) { ResetCells(); figure.Rotate(); Combine(); Invalidate(); } break; case Keys.Right: if (Checked.CheckMovePossibility(1, figure, map)) { ResetCells(); figure.MoveRight(); Combine(); Invalidate(); } break; case Keys.Left: if (Checked.CheckMovePossibility(-1, figure, map)) { ResetCells(); figure.MoveLeft(); Combine(); Invalidate(); } break; } }; CreateSpeed(timer); button.Click += (sender, args) => { var sw = new StreamWriter(@"G:\C# game\Game\Game\Рекорды.txt", true); sw.Write(box.Text); Controls.Remove(button); Controls.Remove(box); Controls.Remove(labelName); timer.Tick += (senderT, argsT) => { ResetCells(); if (Checked.CheckFallPossibility(figure, map)) { figure.MoveDown(); } else { Combine(); DeleteCompletedLine(labelScore); CreateSpeed(timer); figure.GetNextFigure(3, 0); if (!Checked.CheckFallPossibility(figure, map)) { timer.Stop(); sw.WriteLine(": " + labelScore.Text); sw.Close(); Controls.Add(labelLost); Controls.Add(buttonRestart); buttonRestart.Click += (senderB, argB) => { Application.Restart(); }; } } Combine(); Invalidate(); }; }; timer.Start(); Invalidate(); }