Why I jump more times ?

How can I make my Flappy jump only once when I click? I mean to execute just one click even if I press more. I want to jump again after I arrived on the land … Sorry for my bad english.

    bool WasTouchedOrClicked()
    {
        if (Input.GetButtonUp("Jump") || Input.GetMouseButtonDown(0) || 
            (Input.touchCount > 0 && Input.touches[0].phase == TouchPhase.Ended))
            return true;
        else
            return false;
    }

    void MoveBirdOnXAxis()
    {
        transform.position += new Vector3(Time.deltaTime * XSpeed, 0, 0);
    }

    void BoostOnYAxis()
    {
        rigidbody2D.velocity = new Vector2(0, VelocityPerJump);
        audio.PlayOneShot(FlyAudioClip);
    }

Since we dont know the other implementations i will just try to give a few possibilities.

If you are using character controller to move your flappy then there is a property called isGrounded and you can allow clicks only if it is true.

If you are using rigidbody to control the flappy you can use colliders and if you are colliding with the floor you can allow jump

If you are manipulating the transform by hand you can check if the y axis is the same like if you are standing on the floor. Well it is pretty hard if the floor is not straight.