I need help for one click control and reset scene

How do I get that my curling moves one time (push him one time). An other problem is that I want to reset the scene when the curling is not in the win zone and the speed about 0.

using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour
{

    public float speed;
    public TextMesh wintext;
    private Rigidbody rb;

    void Start ()
    {
        rb = GetComponent<Rigidbody>();
        wintext.text = "";
    }
 
    void FixedUpdate ()
    {
//Push object every time//
        if (Input.GetMouseButtonUp (0))
        {
            float h = Input.GetAxis ("Mouse X");
            float v = Input.GetAxis ("Mouse Y");
         
         
            Vector3 movement = new Vector3 (h, 0.0f, v);
         
            rb.AddForce (movement * speed);
         
        }
    }
//When object is in win zone --> go to main Screen""
    void OnTriggerStay(Collider other)
    {
        if (other.gameObject.CompareTag ("Win Zone"))
        {
            speed = GetComponent<Rigidbody> ().velocity.magnitude;

            if (speed < 0.005)
            {
                gameObject.GetComponent<Rigidbody> ().constraints = RigidbodyConstraints.FreezeAll;
                wintext.text = "You Win";
 //A 5 sec pause would be great here//
                Application.LoadLevel(0);

            }
        }
    }
}

What do you want to do? push a curling stone with the player? and check if it’s in the winzone? if not reset?

You can check if it’s in the winzone by using Vector3.Distance for example

float distance = Vector3.Distance(thecurlingstone,thewinzone);

if (distance < 1.0f && distance > 1.0f) // change depending on how big the win zone is
{
//reset
}

mhh… may I explained my problem not precisely or you don’t read the code underneath the question but that’sOK let me unravel a little bit

  1. I have the funktion for my win zone and it works perfect
   void OnTriggerStay(Collider other)
    {
        if (other.gameObject.CompareTag ("Win Zone"))
        {
            speed = GetComponent<Rigidbody> ().velocity.magnitude;
            if (speed < 0.005)
  1. My problem is that It just works when the curling stone lands in the win zone (THE WIN ZONE IS A CUBE, WITH A TRIGGER AND A TAG)

  2. When the curling stone DON’T land in the win zone my game don’t know it because no trigger is activated.

summary
how can my game know when the curling stone is not in the win zone

As I said, use a condition to check the distance between the “cube win zone” and the curling stone after its been activated, if it’s not in the win zone, reset after the speed hits 0,