Exemplo n.º 1
0
        private void ButtonPressed(int i)
        {
            var index = i;

            if (_firstButtonPressed)
            {
                var termAlreadyPressed = Buttons[_firstButtonPressedIndex];

                if (index == _firstButtonPressedIndex)
                {
                    termAlreadyPressed.Pressed();
                    _firstButtonPressedIndex = -1;
                    _firstButtonPressed      = !_firstButtonPressed;

                    return;
                }

                var termJustPressed = Buttons[index];
                termJustPressed.Pressed();

                if (termJustPressed.CheckForCorrectAnswer(termAlreadyPressed))
                {
                    _firstButtonPressed = false;
                    Buttons[index]      = null;
                    Buttons[_firstButtonPressedIndex] = null;
                    PositionsAtPlay.Remove(index);
                    PositionsAtPlay.Remove(_firstButtonPressedIndex);
                    IsGameOver();
                }
                else
                {
                    // todo
                    _errors += 1;
                }
                _firstButtonPressed      = false;
                _firstButtonPressedIndex = -1;
            }
            else
            {
                if (!PositionsAtPlay.Contains(index))
                {
                    return;
                }
                var termJustPressed = Buttons[index];
                if (termJustPressed == null)
                {
                    return;
                }
                termJustPressed.Pressed();

                _firstButtonPressed      = true;
                _firstButtonPressedIndex = index;
            }
        }