Hello and I need some help with coding

So I am really a beginner and I have been trying to complete the TANKS 3D tutorial to some kind get a hang of the coding and game-making in general. However, I have ran into some problems related to coding. Been working with the Tank Movement script, and although I’ve been completely following the tutorial (or at least I think I have) some bugs in the coding still showed up. I have been working hard to get around those but all I have managed to do was to cut to 3 bugs. Could anybody help me to fix this and provide some brief explanation? Thank you in advance.

private void EngineAudio()
    {
		if (Mathf.Abs (m_MovementInputValue) < 0.1f && Mathf.Abs (m_MovementInputValue) < 0.1f)

			{
				if (m_MovementAudio.clip == m_EngineDriving)
				{
					m_MovementAudio.clip = m_EngineIdling;
					m_MovementAudio.pitch = Random.Range (m_OriginalPitch - m_PitchRange, m_OriginalPitch + m_PitchRange);
					m_MovementAudio.Play ();
				}
			}



				else if (m_MovementAudio.clip == m_EngineIdling)
		{
			{
					m_MovementAudio.clip = m_EngineDriving;
					m_MovementAudio.pitch = Random.Range (m_OriginalPitch - m_PitchRange, m_OriginalPitch + m_PitchRange);
					m_MovementAudio.Play () 
			}
			
	}

This one gives issue with the last bracket (Unexpected symbol)

private void Move()
    {
        // Adjust the position of the tank based on the player's input.
			{	Vector3 movement = transform.forward * m_MovementInputValue * m_Speed * Time.deltaTime;
		m_Rigidbody.MovePosition (m_Rigidbody.position + movement);

			}
    }


	private void Turn()
    {
       
			{	float turn = m_TurnInputValue * m_TurnSpeed * Time.deltaTime;

		Quaternion turnRotation = Quaternion.Euler (0f, turn, 0f);

		m_Rigidbody.MoveRotation (m_Rigidbody.rotation * turnRotation); 
			}
    }
}

This one has issue with the private symbol in the beggining. (Unexpected symbol 'private, though there are several other 'private ’ symbols which seem to work well.

In the first one there is an extra bracket before “m_MovementAudio.clip” (I made a correction considering the “else” belonging to the first if)

 private void EngineAudio()
     {
         if (Mathf.Abs (m_MovementInputValue) < 0.1f && Mathf.Abs (m_MovementInputValue) < 0.1f)
 
             {
                 if (m_MovementAudio.clip == m_EngineDriving)
                 {
                     m_MovementAudio.clip = m_EngineIdling;
                     m_MovementAudio.pitch = Random.Range (m_OriginalPitch - m_PitchRange, m_OriginalPitch + m_PitchRange);
                     m_MovementAudio.Play ();
                 }
             }
 
 
 
		 else if (m_MovementAudio.clip == m_EngineIdling)
		{
			 m_MovementAudio.clip = m_EngineDriving;
			 m_MovementAudio.pitch = Random.Range (m_OriginalPitch - m_PitchRange, m_OriginalPitch + m_PitchRange);
			 m_MovementAudio.Play () 
		}
             
     }

I the second one both functions have a pair of extra brackets, and another one to the bottom (maybe you copied the class ending bracket?)

 private void Move()
         // Adjust the position of the tank based on the player's input.
		 {    Vector3 movement = transform.forward * m_MovementInputValue * m_Speed * Time.deltaTime;
         m_Rigidbody.MovePosition (m_Rigidbody.position + movement);
 
		 }

 
 
     private void Turn()
     {
        float turn = m_TurnInputValue * m_TurnSpeed * Time.deltaTime;
 
         Quaternion turnRotation = Quaternion.Euler (0f, turn, 0f);
 
         m_Rigidbody.MoveRotation (m_Rigidbody.rotation * turnRotation); 

     }

Anyway, I would suggest you to get better at indenting the code properly, you would easily avoid this kind of isuues