/// <summary>
        /// Default Constructor for GameManager Class
        /// </summary>
        public GameManager()

        {
            InitializeComponent();
            GmBoard = Board.createInstance(BoardSize);
            Logic   = new ComputerMoveHandler(GmBoard, CoinCount);
            GView   = new GameView();
        }
 /// <summary>
 /// This event triggers when ever the user clicks on the restart button.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void GameRestart_Click(object sender, EventArgs e)
 {
     GoodBye.Visible     = false;
     Exit.Visible        = false;
     GameRestart.Visible = false;
     GameHeading.Visible = false;
     this.BoardSize      = 25;
     GmBoard             = null;
     GmBoard             = Board.createInstance(BoardSize);
     ScreenFlag          = Screens.game;
     this.Refresh();
 }
 /// <summary>
 ///To get the singleton object of Board and initialise base class fields
 /// </summary>
 /// <param name="board"></param>
 /// <param name="gameSize"></param>
 public ComputerMoveHandler(Board board, int gameSize) : base(board, gameSize)
 {
     cmhBoard = Board.createInstance();
 }
 /// <summary>
 /// Displays the Grid to the user.
 /// </summary>
 /// <param name="g"></param>
 /// <param name="boardsize"></param>
 public void ShowGrid(Graphics g, int boardsize)
 {
     GvBoard = Board.createInstance(boardsize);
     GvBoard.DrawBoard(g);
 }
 /// <summary>
 /// Constructor for move handler
 /// </summary>
 public MoveHandler()
 {
     MhBoard = Board.createInstance();
     Size    = 0;
 }