private void ArrowButton_Click(object sender, EventArgs e)
        {
            ((Button)sender).Enabled = false;
            StringBuilder colorGuess = new StringBuilder();

            foreach (Button buttonToManipulate in m_Guesses[m_GameLogics.CurrentGuess])
            {
                buttonToManipulate.Enabled = false;
                string charOfColor = m_ColorsToChar[buttonToManipulate.BackColor.Name];
                colorGuess.Append(charOfColor);
            }

            m_GuessArrow[m_GameLogics.CurrentGuess].Enabled = false;
            m_GameLogics.AddNewGuess(colorGuess.ToString());
            ShowResultOfGeuss();
            if (m_GameLogics.isWin(m_GameLogics.getLastGuess().Result))
            {
                ShowComputerPin();
            }
            else if (m_GameLogics.isLost())
            {
                ShowComputerPin();
            }
            else
            {
                m_GameLogics.CurrentGuess++;
                foreach (Button buttonToEnable in m_Guesses[m_GameLogics.CurrentGuess])
                {
                    buttonToEnable.Enabled = true;
                }
            }
        }
Esempio n. 2
0
        public void Start()
        {
            m_Board.CreateBoard(m_GameLogics.ListOfGuesses);
            m_GameLogics.setRandomComputerSequence();
            string guessInputFromUser = string.Empty;

            while (!guessInputFromUser.Equals(k_Quit) && m_GameLogics.MaxOfGeuss != 0)
            {
                if (guessInputFromUser.ToLower().Equals(k_Restart))
                {
                    m_GameLogics.restart();
                    m_GameLogics.MaxOfGeuss = Dialogs.GetNumberOfGeussFromUser();
                    m_Board = new Board(m_GameLogics.MaxOfGeuss);
                    m_Board.CreateBoard(m_GameLogics.ListOfGuesses);
                }

                guessInputFromUser = Dialogs.GetGuessFromUser(k_MaxNumberCount);
                if (!guessInputFromUser.Equals(k_Quit))
                {
                    m_GameLogics.AddNewGuess(guessInputFromUser);
                    m_Board.CreateBoard(m_GameLogics.ListOfGuesses);

                    if (m_GameLogics.isWin(m_GameLogics.getLastGuess().Result))
                    {
                        Dialogs.MessageAfterWin(m_GameLogics.getAmountOfGuesses());
                        guessInputFromUser = Dialogs.CheckIfStartOver();
                    }
                    else if (m_GameLogics.isLost())
                    {
                        m_Board.CreateBoard(m_GameLogics.ListOfGuesses);
                        Dialogs.MessageAfterLost();
                        guessInputFromUser = Dialogs.CheckIfStartOver();
                    }
                }
            }

            if (guessInputFromUser.Equals(k_Restart))
            {
                m_GameLogics.restart();
            }
            else if (guessInputFromUser.ToUpper().Equals(k_Quit) || m_GameLogics.MaxOfGeuss == 0)
            {
                Console.WriteLine("Goodbye...");
            }
        }