コード例 #1
0
        public MemoryGameForm(GameSettingForm i_GameSettingForm)
        {
            Text            = "Memory Game";
            FormBorderStyle = FormBorderStyle.FixedToolWindow;
            StartPosition   = FormStartPosition.CenterScreen;
            Player firstPlayer  = new Player(i_GameSettingForm.FirstPlayerName);
            Player secondPlayer = new Player(i_GameSettingForm.SecondPlayerName);

            r_GameManager = new GameManager(i_GameSettingForm.BoardColumns, i_GameSettingForm.BoardRows, firstPlayer, secondPlayer);
            r_GameManager.FirstPlayer.Turn = true;
            r_GameManager.GameOver        += gameManager_GameOver;
            r_GameManager.BoardChanged    += gameManager_BoardChanged;
            r_Board = new Button[i_GameSettingForm.BoardRows, i_GameSettingForm.BoardColumns];
            int widthBoard  = (i_GameSettingForm.BoardColumns * k_ButtonSquareSize) + ((i_GameSettingForm.BoardColumns - 1) * k_Space);
            int heightBoard = (i_GameSettingForm.BoardRows * k_ButtonSquareSize) + ((i_GameSettingForm.BoardRows - 1) * k_Space);

            Size               = new Size(widthBoard + 35, heightBoard + 120);
            r_ListOfImages     = buildListOfImages();
            m_MouseClickStatus = eClickMode.UnClickedMouse;
        }
コード例 #2
0
        private void secondPartOfMove(Button i_Button)
        {
            bool isMatch = OperationWithCards.CheckIfMatch(i_Button.Name, firstMove.Name, r_GameManager.Board);

            if (isMatch)
            {
                r_GameManager.CurrentPlayer.AddPointToPlayer();
                updatePlayersLabel();
            }
            else
            {
                System.Threading.Thread.Sleep(2000);
                firstMove.Image = null;
                i_Button.Image  = null;
                Refresh();
                r_GameManager.Board.FlipDownCardInBoard(OperationWithCards.ExtractRow(firstMove.Name), OperationWithCards.ExtractColumn(firstMove.Name));
                r_GameManager.Board.FlipDownCardInBoard(OperationWithCards.ExtractRow(i_Button.Name), OperationWithCards.ExtractColumn(i_Button.Name));
                r_GameManager.SwitchTurn();
                updateCurrentPlayerLabel();
            }

            m_MouseClickStatus = eClickMode.UnClickedMouse;
            takeFocus(null);
        }
コード例 #3
0
 private void firstPartOfMove()
 {
     m_MouseClickStatus = eClickMode.ClickedMouse;
 }