why my code increment the score every 4 or five clicks in a penalty shoout game?
I am stucked in this part, I click the goal area and Its goal, but the score updates every 3 or more clicks, I used booleans for drawing a message of goal, I dont know well how to manage states, I need help please, I am still doing trial error for archieving this 

can someone help me??


    if (_gameState == GameState.Playing)
                {
    
                     if (CollideGoalArea())
                     {
                         if (CollideGoalKeeper())
                         {
                             _messageToDisplay = "Goalie defends the goal!";
                             this.Window.Title = "Missed!";
                             _gameState = GameState.Message;
    
                             goalM = "FAILED!";
                             goalB = false;
                             goalC = true;
    
    
                         }
                         else
                         {
                             
                             _messageToDisplay = "GOAL!";
    
                             this.Window.Title = "GOAL!";
    
                             goalM = "Goal!";
                             goalB = true;
                             goalC = false;
    
                             ++score;
                           
                             _gameState = GameState.Message;
                         }
                     }
                     else
                     {
                         _messageToDisplay = "You missed the goal.";
                         _gameState = GameState.Message;
                         goalM = "FAILED!";
                         goalB = false;
                         goalC = true;
    
                     }
    
    
    
                 }
                 else if (_gameState == GameState.Message)
                 {
    
                     if (Mouse.GetState().LeftButton == ButtonState.Released && gameTime.TotalGameTime.Milliseconds>900)
                     { // right click to continue playing
                         _gameState = GameState.Playing;
                         origin = new Vector2(540, 545);
    
                         
                             
                         
    
    
                     }
    
                 }

 
why my code increment the score every 4 or five clicks in a penalty shoout game?
===

I am stucked in this part, I click the goal area and Its goal, but the score updates every 3 or more clicks, I used booleans for drawing a message of goal, I dont know well how to manage states, I need help please, I am still doing trial error for archieving this 

can someone help me??


    if (_gameState == GameState.Playing)
                {
    
                     if (CollideGoalArea())
                     {
                         if (CollideGoalKeeper())
                         {
                             _messageToDisplay = "Goalie defends the goal!";
                             this.Window.Title = "Missed!";
                             _gameState = GameState.Message;
    
                             goalM = "FAILED!";
                             goalB = false;
                             goalC = true;
    
    
                         }
                         else
                         {
                             
                             _messageToDisplay = "GOAL!";
    
                             this.Window.Title = "GOAL!";
    
                             goalM = "Goal!";
                             goalB = true;
                             goalC = false;
    
                             ++score;
                           
                             _gameState = GameState.Message;
                         }
                     }
                     else
                     {
                         _messageToDisplay = "You missed the goal.";
                         _gameState = GameState.Message;
                         goalM = "FAILED!";
                         goalB = false;
                         goalC = true;
    
                     }
    
    
    
                 }
                 else if (_gameState == GameState.Message)
                 {
    
                     if (Mouse.GetState().LeftButton == ButtonState.Released && gameTime.TotalGameTime.Milliseconds>900)
                     { // right click to continue playing
                         _gameState = GameState.Playing;
                         origin = new Vector2(540, 545);
    
                         
                             
                         
    
    
                     }
    
                 }

 