Ejemplo n.º 1
0
        /// <summary>
        /// Rereshes the user interface.
        /// </summary>
        public void RefreshUserInterface()
        {
            GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
            if (GameUserIterface.InvokeRequired)
            {
                RefreshScreen rs = new RefreshScreen(RefreshUserInterface);
                try
                {
                    GameUserIterface.Invoke(rs);
                }
#pragma warning disable CS0168 // Variable is declared but never used
                catch (ObjectDisposedException e)
#pragma warning restore CS0168 // Variable is declared but never used
                {
                    //The program has exited, no point in updating the screen
                }
#pragma warning disable CS0168 // Variable is declared but never used
                catch (System.ComponentModel.InvalidAsynchronousStateException e)
#pragma warning restore CS0168 // Variable is declared but never used
                {
                    //The program has exited, no point in updating the screen
                }
#pragma warning disable CS0168 // Variable is declared but never used
                catch (Exception e)
#pragma warning restore CS0168 // Variable is declared but never used
                {
                    //General catch to catch other thread related errors that rarely happens and are hard to force.
                }
            }
            else
            {
                GameUserIterface.Refresh();
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Updates the displayed score
 /// </summary>
 /// <param name="points"></param>
 public void UpdateScore()
 {
     if (AllTimeHighScore < Model.Score)
     {
         AllTimeHighScore = Model.Score;
     }
     GameUserIterface.UpdateDisplayedScore(Model.Score.ToString());
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Handles logic when Game Over occures.
 /// </summary>
 public void GameOver()
 {
     if (GameUserIterface.InvokeRequired)
     {
         ShowGameOverScreen go = new ShowGameOverScreen(GameUserIterface.DisplayGameOverScreen);
         try
         {
             GameUserIterface.Invoke(go);
         }
         catch (ObjectDisposedException)
         {
             //The program has exited
         }
     }
     else
     {
         GameUserIterface.DisplayGameOverScreen();
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Displays the next tetromino to the user.
 /// </summary>
 public void DisplayNexTetromino()
 {
     GameUserIterface.SetNextTetromino(Model.NextTetromino);
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Increases the level.
 /// </summary>
 public void IncreaseLevel()
 {
     Model.IncreaseLevel();
     GameUserIterface.UpdateDisplayedLevel(Model.Level.ToString());
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Resumes the game.
 /// </summary>
 public void ResumeGame()
 {
     Model.ResumeGame();
     GameUserIterface.HidePauseMenu();
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Pauses the game
 /// </summary>
 public void PauseGame()
 {
     Model.PauseGame();
     GameUserIterface.DisplayPauseMenu();
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Updates the displayed line count
 /// </summary>
 public void UpdateLineCount()
 {
     GameUserIterface.UpdateDisplayedLineCount(Model.RowsRemovedInTotal.ToString());
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Updates the displayed level.
 /// </summary>
 public void UpdateLevel()
 {
     GameUserIterface.UpdateDisplayedLevel(Model.Level.ToString());
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Handles logic for when the space bar is pressed.
 /// </summary>
 public void DropTetrominoAllTheWay()
 {
     Model.DropActiveTetromino();
     GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
     GameUserIterface.Refresh();
 }
Ejemplo n.º 11
0
 /// <summary>
 /// Handles logic for the down arrow key pressed.
 /// </summary>
 public void RotateTetrominoAnticlockwise()
 {
     Model.RotatActiveTetrominoToTheLeftIfPossible();
     GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
     GameUserIterface.Refresh();
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Handle logic for up arrow key pressed.
 /// </summary>
 public void RotatTetrominoClockwise()
 {
     Model.RotatActiveTetrominoToTheRightIfPossible();
     GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
     GameUserIterface.Refresh();
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Handles logic for left arrow key pressed.
 /// </summary>
 public void MoveTetrominoLeft()
 {
     Model.MoveActiveTetrominoToTheLeftIsPossible();
     GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
     GameUserIterface.Refresh();
 }
Ejemplo n.º 14
0
 /// <summary>
 /// Handles logic for right arrow key pressed.
 /// </summary>
 public void MoveTetrominoRight()
 {
     Model.MoveActiveTetrminoToTheRightIfPossible();
     GameUserIterface.ActiveTetromino = Model.ActiveTetromino;
     GameUserIterface.Refresh();
 }