Question: Please do not get too hard about my grammar.

I write follow class for delay 

```
public class Queue_System_Of_Begin_Game : MonoBehaviour
{

    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

        if (Game_Controller.Player1_First_throws_true && Game_Controller.Player2_First_throws_true)
        {

            StartCoroutine(ExecuteAfterTime(1));

        }

    }
    //--------------------------------------
    public GameObject player1_icon, player2_icon, dice1_p1, dice2_p1, dice1_p2, dice2_p2;
    void determine_the_turn()
    {
        Debug.Log("update");

    }

    IEnumerator ExecuteAfterTime(float time)
    {
        yield return new WaitForSeconds(time);

        determine_the_turn();
    }
}

```

I receive 62 times the word update on the console.
This problem will cause my next round of games to run 62 times, which slowed down my game.

Answer: 
The **Update()** method is called once per frame, thats the reason you get 62 "updates".

You can try adding a boolean so it only gets called once like this:

```
bool ischecked = false;
void Update(){
    if (!ischecked){
        if (Game_Controller.Player1_First_throws_true && Game_Controller.Player2_First_throws_true) {
            ischecked = true;
            StartCoroutine (ExecuteAfterTime (1));
        }
    }
}

```
I find solution for my problem .I must use a boolean variable in my if commond like this : 

```
public class Queue_System_Of_Begin_Game : MonoBehaviour
  {
      private bool coroutineStarted;

      // Update is called once per frame
      void Update()
      {     
          if (!coroutineStarted && Game_Controller.Player1_First_throws_true && Game_Controller.Player2_First_throws_true)
          {
              coroutineStarted = true ;
              StartCoroutine(ExecuteAfterTime(1));     
          }     
      }
      //--------------------------------------
      public GameObject player1_icon, player2_icon, dice1_p1, dice2_p1, dice1_p2, dice2_p2;
      void determine_the_turn()
      {
          Debug.Log("update");

      }

      IEnumerator ExecuteAfterTime(float time)
      {
          yield return new WaitForSeconds(time);

          determine_the_turn();
      }
  }

```