Can only jump once? Character turns around?

Hey Guys
Im using this script to make a temple run like jump n run… But my character can only jump once… if i try to jump again nothing happens??
And my second problem is that when the character touches a wall he turns around??
Here is the script…

using UnityEngine;
using System.Collections;

public class PlayerMovement : MonoBehaviour {

private bool grounded;

private float speed;

private Vector2 startPos;

//
void Start () {

speed = 7;

grounded = true;

}

//
void FixedUpdate ()
{

transform.Translate(-Vector3.forward * -speed * Time.deltaTime);//

#if UNITY_EDITOR

transform.Translate (Vector2.right * Input.GetAxis (“Horizontal”) * 5 * Time.deltaTime);
if (Input.GetKey (KeyCode.Space) grounded == true)
{
rigidbody.AddForce (0,300,0,ForceMode.Force);
grounded = false;

}
#endif
#if UNITY_ANDROID
transform.Translate (Vector3.right * Input.acceleration.x * 7.5f * Time.deltaTime);
if (Input.touchCount > 0)
{

Touch touch = Input.touches [0];

switch (touch.phase)

{

case TouchPhase.Began:
startPos = touch.position;
break;

case TouchPhase.Moved:
if (Mathf.Abs (touch.position.y - startPos.y) > 100) //

{

float swipeValue = Mathf.Sign (touch.position.y - startPos.y);

if (swipeValue > 0 grounded == true) //
{
rigidbody.AddForce (0,300,0,ForceMode.Force);
grounded = false;
break;
}
else if (swipeValue < 0) //
{ //
break;
}
}
break;
}
}
#endif
}

Grounded is never getting set to true except in the Start method. That’s what’s stopping you from jumping more than once.

ok it worked… thank you