public Move ActionSelector(Coordinates pacmanCoordinates, List <Coordinates> ghostCoordinates)
    {
        System.Random random       = new System.Random();
        bool          set          = false;
        List <Move>   moveList     = Movement.GetValidMoves(pacmanCoordinates);
        Move          selectedMove = moveList[0];
        float         rand         = (float)random.Next(0, 100) / 100.0f;

        if (_epsilon > rand)
        {
            Debug.Log("Random action");
            set = true;
            int randomIndex = random.Next(0, moveList.Count);
            selectedMove = moveList[randomIndex];
        }
        else
        {
            Coordinates nearestFood     = FindNearestFood(pacmanCoordinates);
            QState      tempQState      = new QState(pacmanCoordinates, ghostCoordinates, nearestFood);
            float       qValue          = CalcQValue(tempQState);
            Coordinates pacmanCoordCopy = new Coordinates(pacmanCoordinates.X, pacmanCoordinates.Y);

            foreach (Move move in moveList)
            {
                pacmanCoordCopy.Move(move);
                nearestFood = FindNearestFood(pacmanCoordinates);
                if (nearestFood - pacmanCoordinates == 0)
                {
                    Debug.LogError("pacman");
                }
                tempQState.SetState(pacmanCoordCopy, ghostCoordinates, nearestFood);
                float tempQValue = CalcQValue(tempQState);
                if (qValue <= tempQValue)
                {
                    qValue       = tempQValue;
                    selectedMove = move;
                    set          = true;
                    Debug.Log("Max Action");
                }
                pacmanCoordCopy.X = pacmanCoordinates.X;
                pacmanCoordCopy.Y = pacmanCoordinates.Y;
            }
        }
        if (set)
        {
            Debug.Log($"set {selectedMove}");
        }
        else
        {
            Debug.LogWarning("never Set an action BITCH!");
        }
        return(selectedMove);
    }