예제 #1
0
 public GameBoard(int i_NumOfChances)
 {
     r_NumOfChances    = i_NumOfChances;
     Text              = k_FormText;
     r_GameBoard       = new Board(i_NumOfChances);
     r_GameGuess       = new GameGuess(i_NumOfChances);
     r_OptionalColors  = new Colors();
     r_GameButtons     = new List <GameButton>();
     r_FeedbackButtons = new List <GameButton>();
     r_ArrowsButtons   = new List <GameButton>();
     initBoardSize(i_NumOfChances);
     FormBorderStyle      = FormBorderStyle.FixedDialog;
     StartPosition        = FormStartPosition.CenterScreen;
     m_CurrentGuessNumber = 0;
     m_PickColorForm      = new PickColor();
 }
예제 #2
0
        private void arrowButton_Click(object sender, EventArgs i_EventArgs)
        {
            List <GameButton> guessButtons    = getGuessLineButtons(r_GameButtons, (sender as GameButton).GuessLineIndex);
            List <GameButton> feedbackButtons = getGuessLineButtons(r_FeedbackButtons, (sender as GameButton).GuessLineIndex);

            (sender as GameButton).Enabled = false;
            paintFeedbackButtons(guessButtons, feedbackButtons);
            if (r_GameGuess.UserWin)
            {
                paintBlackButtons();
                QuitGame quitGameForm = new QuitGame(k_WinningMessage);
                quitGameForm.ShowDialog();
            }
            else if (r_GameGuess.IsGameOver())
            {
                paintBlackButtons();
                QuitGame quitGameForm = new QuitGame(k_GameOverMsg);
                quitGameForm.ShowDialog();
            }

            m_CurrentGuessNumber++;
            int counterGameButtons = 0;

            foreach (GameButton gameButton in r_GameButtons)
            {
                if (counterGameButtons >= m_CurrentGuessNumber * 4 && counterGameButtons < m_CurrentGuessNumber * 8)
                {
                    gameButton.Enabled = true;
                }
                else
                {
                    gameButton.Enabled = false;
                }

                counterGameButtons++;
            }
            m_PickColorForm = new PickColor();
        }