how to detect parent tag and not continually add numbers

I am making a game like any hacking minigame or pipe dream you drag pieces into a grid and whats supposed to happen is it adds a point so once everything is placed correctly a message comes up and says you win. I have it attached to the tag of forward left and rights this being the parents of the objects representing the grid. the issue i am facing is that each second its on the piece it adds a point.

public bool place;
public int score;
public Text countText;

void Start () {
    place = false;
    score = 0;
    SetCountText();
}
void Update () {
    if (transform.parent.tag == "Forward")
    {
        Debug.Log("this is working");
        place = true;
        score = score + 1;
        SetCountText();

    }
    else
    {
        Debug.Log("this is not working");
        place = false;
    }

}
void SetCountText()
{
    countText.text = "Count: " + score;

}

whats the problem here. I dont know

Good day.

I dont understand where are you using this.

for the code, i see this script is adding 1 to score each frame if its parent tag is “Forward”

For your text, i can imagine you just want to add once this point, so best option is to create a bool, something like this:

bool pointAdded;

void Start () {
     place = false;
     score = 0;
     SetCountText();
 }
 void Update () {
     if (transform.parent.tag == "Forward" && !pointAdded)
     {
         Debug.Log("this is working");
         place = true;
         score = score + 1;
         pointAdded = true;
         SetCountText();
     }

So now, will only increase points the first frame that parent tag matches.

Bye!