// Игровой цикл void GameTimerTick(object sender, EventArgs e) { if (Game.Paused) { return; } GF.DoStep(); if (!GF.IsFigureFalling) { //нужно поместить новую фигуру на поле и скрыть полные ряды SetScore(Game.Score + GF.RemoveFullRows() * 10); if (!GF.PlaceFigure(Game.NextFigure)) { //игра окончена OnGameOver(); } else { Game.NextFigure = Figure.RandomFigure(); Game.FiguresDropped++; Preview.Clear(); Preview.SetFigure(Game.NextFigure.MoveTo(1, 1), false); if (Game.FigureChanged && Game.FiguresDropped % 5 == 0) { Game.FigureChanged = false; } //ускоряем игру при росте количества очков if (Game.FiguresDropped % 15 == 0 && Game.Score != 0) { if (GameTimer.Interval > 300) { //GameTimer.Enabled=false; GameTimer.Interval -= 100; //GameTimer.Enabled=true; } } } } Refresh(); }
private void NewGame() { Game = new TetrisGame(); Game.StateChanged += new EventHandler(Game_StateChanged); SetScore(0); GameTimer.Interval = 1000; GameTimer.Enabled = true; Game.NextFigure = Figure.RandomFigure(); GF.Clear(); Refresh(); }
private void NewGame() { tetrisGame = new TetrisGame(); tetrisGame.StateChanged += new EventHandler(Game_StateChanged); SetScore(0); tmrGame.Interval = 1000; tmrGame.Enabled = true; tetrisGame.NextTetromino = Tetromino.RandomTetromino(); gameField.Clear(); Refresh(); }