How to make a car move the direction it is facing?

I am making a rather simple top down 2D mobile car game and i wan’t it so that the car will always move automatically and whenever i press “space” the car will slightly rotate left. So the longer i hold “space” the more the car will rotate so eventually it will make an circle.

This is the best way i could put this but i feel like it’s not enough, so i am going to show you an image.

So as you can see there is a lane and the car will always move automatically but if it hits any of the sides it will explode and you will lose so the player must be able to rotate left all the time. Whenever i make one lap i want the speed to increase everytime.

Any kind of help is appreciated!

Do you have any code written already? If not here is a little bit of what I would do.
For this example I am going to use rigidbody physics on the car.

Here is the bit of code I wrote that should generally accomplish what you asked.

#pragma strict
var rigidBodyPhysics : Rigidbody;//The rigidbody physics component.
var accelerationSpeed : int = 100;//How fast the car will accelerate.
private var eulerAngleVelocity : Vector3;//Which way the vehicle will rotate.
var turnSpeed : float = 30;

function Start()
{
	rigidBodyPhysics = GetComponent.<Rigidbody>();//Getting the data for the rigidbody physics component
}

function Update()
{
	rigidBodyPhysics.AddForce(transform.forward * accelerationSpeed);//This moves the car forward by adding the force of the acceleration speed to the car.

	if(Input.GetKey(KeyCode.Space))//If space is pressed (this can be changed to any form of input, i.e a key, screen press, mouse click, etc.
	{
		eulerAngleVelocity = Vector3(0, turnSpeed, 0);//Set the rotation values to 0 on the X axis, turnSpeed on the Y axis, 0 and the Z axis.
		//Turn speed is is value given for the Y axis (vertical) rotation. Setting turnSpeed to a negative value will turn the opposite direction.
	}
	else
	{
		eulerAngleVelocity = Vector3(0, 0, 0);//Set the rotation values to 0 on the X axis, 0 on the Y axis, 0 and the Z axis.
	}

	var deltaRotation : Quaternion = Quaternion.Euler(eulerAngleVelocity * Time.deltaTime);//Set rotation values relative to the variable "eulerAngleVelocity" which is defined above.
	rigidBodyPhysics.MoveRotation(rigidBodyPhysics.rotation * deltaRotation);//Rotate the rigidbody relative to the defined values in "deltaRotation".
}

Note that this requires you have a rigidbody component on your vehicle.
It will be necessary to set proper weight and drag settings on the rigidbody component. This can be used to determine how fast the car moves / how well it controls. You can also edit the values in the code such as “turnSpeed” and “accelerationSpeed”.

I hope this helps. If you have any questions feel free to ask.