Can't use my fingers

Hello,

I’m trying to create 2D game and 1=one part of the game is a Ping Pong game.
The game is pretty easy but i have a problem in the controll system.
There is a little bug that ruin my game sometimes the left box move like the right box and I don’t know how to fix it.
This is my code for the right box:

using UnityEngine;
using System.Collections;

public class RightController : MonoBehaviour
{
BoxCollider2D RightColl;
Vector3 wp;
GameObject go;
LeftController l;

bool IsTouchRight;

public int Index;

void Start()
{
RightColl = GetComponent();
go = GameObject.FindGameObjectWithTag(“LeftBlock”);
l = go.GetComponent();
}

void FixedUpdate()
{
if (Input.touchCount > 0 && Input.touchCount < 3)
{
Debug.Log(“Right: “+Index+” Left:”+l.Index);
for (int i = 0; i < Input.touchCount; i++)
if (Input.GetTouch(i).phase == TouchPhase.Began)
{
wp = Camera.main.ScreenToWorldPoint(Input.GetTouch(i).position);
wp.z = transform.position.z;
if (RightColl.OverlapPoint(wp))//check if any finger just began and if touch in the right block
{
Index = i;
if (l.Index == 0 && Index == 0 && Input.touchCount == 2)//if both blocks have the same index
l.Index = 1;//the other block get index of 1
IsTouchRight = true;
}
}
if (Index == 1 && Input.touchCount == 1)//if there is just 1 finger
if(IsTouchRight)
Index = 0;//change the index to 0
if (l.Index == 0 && Index == 0 && Input.touchCount == 2)//if both blocks have the same index
l.Index = 1;//the other block get index of 1
if (Index != -1)
{
if (Input.GetTouch(Index).phase == TouchPhase.Ended)
{//if finger touch ended
Index = -1;
IsTouchRight = false;
}
if (IsTouchRight)
{//if touch in right block
wp = Camera.main.ScreenToWorldPoint(Input.GetTouch(Index).position);
wp.z = transform.position.z;//get the finger position
transform.position = new Vector3(transform.position.x, wp.y, wp.z);//move the block toward the Y position of the touch
}
}
}
}
}

If someone can help it will help me a lot!

? Please help me!