# simple rotation question c# local/world

Hi!

I’m trying to make a simple pac-man style game where a character(automatically) moves through a maze.
I’m trying to get the player to rotate 90degrees if he hits a wall. I’m using raycasts to check if he is colliding with a wall, but can’t get the player to rotate after the first time.

I’m guessing it’s got something to do with local vs world rotation, but i don’t know how to access it in my code.

``````if (Physics.Raycast(transform.position, hitF, 1))
{
Debug.Log("cannot move forward");
//...but no wall to the left.
if (!Physics.Raycast(transform.position, hitL, 1))
{
Debug.Log("rotate left");
transform.rotation = Quaternion.Euler (0,-90,0);
}
else //there is a wall left...
{
//but no wall to the right.
if (!Physics.Raycast(transform.position, hitR, 1))
{
//Debug.Log("rotate right");
//rotate right:						transform.rotation = Quaternion.Euler (0,90,0);
}
else //there is  wall in front, left and right of him.
{
}
}
}

//move player x pixels forward on local axis.
transform.Translate(Vector3.right * Time.deltaTime, Space.Self);
``````

before the code I’ve initialised these vars:

``````	hitF = transform.position;
hitL = transform.position;
hitR = transform.position;
hitF.x = hitF.x + 1;
hitL.z = hitL.z + 1;
hitR.z = hitR.z - 1;
``````

``````transform.Rotate(Vector3(0,-90,0));