Unity – Why do not my walls move and how can I move them?

Here is my all GameControl script:

static GameObject HexGrey;
static GameObject HexPurple;
static GameObject HexBlue;
static GameObject HexGreen;
static GameObject HexTurq;
static GameObject HexRed;
static GameObject HexYellow;

Vector3 GreyVec;
Vector3 PurpleVec;
Vector3 BlueVec;
Vector3 GreenVec;
Vector3 TurqVec;
Vector3 RedVec;
Vector3 YellowVec;
Vector3 GreyVecOrigin;
Vector3 PurpleVecOrigin;
Vector3 BlueVecOrigin;
Vector3 GreenVecOrigin;
Vector3 TurqVecOrigin;
Vector3 RedVecOrigin;
Vector3 YellowVecOrigin;

button public button; // DeathCanvas
public Text text;

WallMat public material;

float t;

public static int a = 0;
public static int b = 0;
float wallMoveT = 0.7f;

private coroutine IEnumerator;

empty Start ()
{
button.gameObject.SetActive (false); // DeathCanvas
text.enabled = false;
coroutine = enumerator (3);
StartCorutine (coroutine);
ObjectAssignment ();
VecAssignment ();
}

void Update ()
{
WallControl ();
}

void ObjectAssignment ()
{
HexGrey = GameObject.FindGameObjectWithTag ("HexGrey");
HexPurple = GameObject.FindGameObjectWithTag ("HexPurple");
HexBlue = GameObject.FindGameObjectWithTag ("HexBlue");
HexGreen = GameObject.FindGameObjectWithTag ("HexGreen");
HexTurq = GameObject.FindGameObjectWithTag ("HexLBlue");
HexRed = GameObject.FindGameObjectWithTag ("HexRed");
HexYellow = GameObject.FindGameObjectWithTag ("HexYellow");
}

void VecAssignment ()
{
t + = Time.deltaTime / wallMoveT;

GreyVecOrigin = new vector3 (HexGrey.transform.position.x, 0, HexGrey.transform.position.z);
PurpleVecOrigin = new vector3 (HexPurple.transform.position.x, 0, HexPurple.transform.position.z);
BlueVecOrigin = new vector3 (HexBlue.transform.position.x, 0, HexBlue.transform.position.z);
GreenVecOrigin = new vector3 (HexGreen.transform.position.x, 0, HexGreen.transform.position.z);
TurqVecOrigin = new vector3 (HexTurq.transform.position.x, 0, HexTurq.transform.position.z);
RedVecOrigin = new vector3 (HexRed.transform.position.x, 0, HexRed.transform.position.z);
YellowVecOrigin = new vector3 (HexYellow.transform.position.x, 0, HexYellow.transform.position.z);

GreyVec = new vector3 (HexGrey.transform.position.x, -4, HexGrey.transform.position.z);
PurpleVec = new Vector3 (HexPurple.transform.position.x, -4, HexPurple.transform.position.z);
BlueVec = new Vector3 (HexBlue.transform.position.x, -4, HexBlue.transform.position.z);
GreenVec = new Vector3 (HexGreen.transform.position.x, -4, HexGreen.transform.position.z);
TurqVec = new vector3 (HexTurq.transform.position.x, -4, HexTurq.transform.position.z);
RedVec = new vector3 (HexRed.transform.position.x, -4, HexRed.transform.position.z);
YellowVec = new vector3 (HexYellow.transform.position.x, -4, HexYellow.transform.position.z);
}

Cancel WallControl ()
{
if (a == 1)
{
wallMat.color = Color.grey;
if (b == 1)
{
HexPurple.transform.position = Vector3.Lerp ((HexPurple.transform.position), (PurpleVec), t);
HexBlue.transform.position = Vector3.Lerp ((HexBlue.transform.position), (BlueVec), t);
HexGreen.transform.position = Vector3.Lerp ((HexGreen.transform.position), (GreenVec), t);
HexTurq.transform.position = Vector3.Lerp ((HexTurq.transform.position), (TurqVec), t);
HexRed.transform.position = Vector3.Lerp ((HexRed.transform.position), (RedVec), t);
HexYellow.transform.position = Vector3.Lerp ((HexYellow.transform.position), (YellowVec), t);
Debug.Log ("GRAY");
}
}
otherwise if (a == 2)
{
wallMat.color = Color.magenta;
if (b == 2)
{
HexGrey.transform.position = Vector3.Lerp ((HexGrey.transform.position), (GreyVec), t);
HexBlue.transform.position = Vector3.Lerp ((HexBlue.transform.position), (BlueVec), t);
HexGreen.transform.position = Vector3.Lerp ((HexGreen.transform.position), (GreenVec), t);
HexTurq.transform.position = Vector3.Lerp ((HexTurq.transform.position), (TurqVec), t);
HexRed.transform.position = Vector3.Lerp ((HexRed.transform.position), (RedVec), t);
HexYellow.transform.position = Vector3.Lerp ((HexYellow.transform.position), (YellowVec), t);
Debug.Log ("MAGENTA");
}
}
if not (a == 3)
{
wallMat.color = Color.blue;
if (b == 3)
{
HexPurple.transform.position = Vector3.Lerp ((HexPurple.transform.position), (PurpleVec), t);
HexGrey.transform.position = Vector3.Lerp ((HexGrey.transform.position), (GreyVec), t);
HexGreen.transform.position = Vector3.Lerp ((HexGreen.transform.position), (GreenVec), t);
HexTurq.transform.position = Vector3.Lerp ((HexTurq.transform.position), (TurqVec), t);
HexRed.transform.position = Vector3.Lerp ((HexRed.transform.position), (RedVec), t);
HexYellow.transform.position = Vector3.Lerp ((HexYellow.transform.position), (YellowVec), t);
Debug.Log ("BLUE");
}
}
otherwise if (a == 4)
{
wallMat.color = Color.green;
if (b == 4)
{
HexPurple.transform.position = Vector3.Lerp ((HexPurple.transform.position), (PurpleVec), t);
HexBlue.transform.position = Vector3.Lerp ((HexBlue.transform.position), (BlueVec), t);
HexGrey.transform.position = Vector3.Lerp ((HexGrey.transform.position), (GreyVec), t);
HexTurq.transform.position = Vector3.Lerp ((HexTurq.transform.position), (TurqVec), t);
HexRed.transform.position = Vector3.Lerp ((HexRed.transform.position), (RedVec), t);
HexYellow.transform.position = Vector3.Lerp ((HexYellow.transform.position), (YellowVec), t);
Debug.Log ("GREEN");
}
}
otherwise if (a == 5)
{
wallMat.color = Color.cyan;
if (b == 5)
{
HexPurple.transform.position = Vector3.Lerp ((HexPurple.transform.position), (PurpleVec), t);
HexBlue.transform.position = Vector3.Lerp ((HexBlue.transform.position), (BlueVec), t);
HexGreen.transform.position = Vector3.Lerp ((HexGreen.transform.position), (GreenVec), t);
HexGrey.transform.position = Vector3.Lerp ((HexGrey.transform.position), (GreyVec), t);
HexRed.transform.position = Vector3.Lerp ((HexRed.transform.position), (RedVec), t);
HexYellow.transform.position = Vector3.Lerp ((HexYellow.transform.position), (YellowVec), t);
Debug.Log ("CYAN");
}
}
otherwise if (a == 6)
{
wallMat.color = Color.red;
if (b == 6)
{
HexPurple.transform.position = Vector3.Lerp ((HexPurple.transform.position), (PurpleVec), t);
HexBlue.transform.position = Vector3.Lerp ((HexBlue.transform.position), (BlueVec), t);
HexGreen.transform.position = Vector3.Lerp ((HexGreen.transform.position), (GreenVec), t);
HexTurq.transform.position = Vector3.Lerp ((HexTurq.transform.position), (TurqVec), t);
HexGrey.transform.position = Vector3.Lerp ((HexGrey.transform.position), (GreyVec), t);
HexYellow.transform.position = Vector3.Lerp ((HexYellow.transform.position), (YellowVec), t);
Debug.Log ("RED");
}
}
otherwise if (a == 7)
{
wallMat.color = Color.yellow;
if (b == 7)
{
HexPurple.transform.position = Vector3.Lerp ((HexPurple.transform.position), (PurpleVec), t);
HexBlue.transform.position = Vector3.Lerp ((HexBlue.transform.position), (BlueVec), t);
HexGreen.transform.position = Vector3.Lerp ((HexGreen.transform.position), (GreenVec), t);
HexTurq.transform.position = Vector3.Lerp ((HexTurq.transform.position), (TurqVec), t);
HexRed.transform.position = Vector3.Lerp ((HexRed.transform.position), (RedVec), t);
HexGrey.transform.position = Vector3.Lerp ((HexGrey.transform.position), (GreyVec), t);
Debug.Log ("YELLOW");
}
}
otherwise if (a == 8)
{
wallMat.color = Color.black;
HexGrey.transform.position = Vector3.Lerp ((HexGrey.transform.position), (GreyVecOrigin), t);
HexPurple.transform.position = Vector3.Lerp ((HexPurple.transform.position), (PurpleVecOrigin), t);
HexBlue.transform.position = Vector3.Lerp ((HexBlue.transform.position), (BlueVecOrigin), t);
HexGreen.transform.position = Vector3.Lerp ((HexGreen.transform.position), (GreenVecOrigin), t);
HexTurq.transform.position = Vector3.Lerp ((HexTurq.transform.position), (TurqVecOrigin), t);
HexRed.transform.position = Vector3.Lerp ((HexRed.transform.position), (RedVecOrigin), t);
HexYellow.transform.position = Vector3.Lerp ((HexYellow.transform.position), (YellowVecOrigin), t);
Debug.Log ("BLACK");
}
other
{
wallMat.color = Color.black;
}
}

private enumerator IEnumerator (int waitTime)
{
while (true)
{
return return new WaitForSeconds (waitTime);
a = random range (1, 8);
return return new WaitForSeconds (1.5f);
b = a;
return return new WaitForSeconds (waitTime);
a = 8;
b = 0;
}
}

public void GoToMainMenu ()
{
SceneManager.LoadScene ("MainMenu");
}

I know that using integers named "a" and "b" sounds complicated, but in reality this is not the case. First a random choice in the range 1-8 (and the color of the walls changes), then waits 1.5f seconds and I say "b = a" (the transformation.position of hexes changes).

I've checked the integers a and b but the values ​​are correct.

What I want: change the color of the walls at random first. Then wait for 1.5 seconds and transform the objects according to the color of the walls. And loop this cycle.

The problem is this: the color of the walls changes, but the position of the objects never changes.