void FixedUpdate()
    {
        if (simulate)
        {
            //gravity
            velocity.y = velocity.y - g * Time.fixedDeltaTime;

            // moving of the ball
            float x = transform.position.x + velocity.x * Time.fixedDeltaTime;
            float y = transform.position.y + velocity.y * Time.fixedDeltaTime;
            transform.position = new Vector3(x, y, 0);

            // Below line is in case someone wants to test the boundaries of the throw
            if (transform.position.y < -10 || Mathf.Abs(transform.position.x) > 50 || transform.position.y > 100)
            {
                if (controller != null)
                {
                    controller.BallDestroyed(this, 0);
                }
                else
                {
                    GameControllerSP gosp = FindObjectOfType <GameControllerSP> ();
                    Destroy(gameObject);
                    gosp.Result(false);
                }
            }
        }
    }
    void OnCollisionEnter2D(Collision2D collision)
    {
        simulate = false;

        //1 = enemy | 0 = ground/obstacle/other ball | -1 = self
        int hitEvaluator = 0;


        if (collision.collider.gameObject.tag.Equals("Player"))
        {
            Player hitTarget = collision.collider.gameObject.GetComponent <Player>();
            if (int.Parse(hitTarget.playerNumber.text) == thrower)
            {
                hitEvaluator = -1;
            }
            else
            {
                hitEvaluator = 1;
            }
        }

        if (collision.collider.gameObject.tag.Equals("Target"))
        {
            GameControllerSP gosp = FindObjectOfType <GameControllerSP> ();
            Destroy(gameObject);
            gosp.Result(true);
            return;
        }

        if (controller != null)
        {
            controller.BallDestroyed(this, hitEvaluator);
        }
        else
        {
            GameControllerSP gosp = FindObjectOfType <GameControllerSP> ();
            Destroy(gameObject);
            gosp.Result(false);
        }
    }