@Override
        public MOVE getMove(Game game, long timeDue) {
                int currentNode = game.getPacmanCurrentNodeIndex();
                MOVE lastMove = game.getPacmanLastMoveMade();
                
                MOVE bestMove = MOVE.NEUTRAL;
                double bestMoveValueEstimation = Double.NEGATIVE_INFINITY;
                
                if (game.getNeighbour(currentNode, lastMove) != -1) {
                        bestMove = lastMove;
                        bestMoveValueEstimation = getValueFunctionEstimation(extendFeatures(getFeatures(game, currentNode, lastMove)).getValues())[0];
                }
                
                for (MOVE move : game.getPossibleMoves(game.getPacmanCurrentNodeIndex())) {
                        double estimation = getValueFunctionEstimation(extendFeatures(getFeatures(game, currentNode, move)).getValues())[0];
                        System.out.println(Double.toString(estimation));
                        if (bestMoveValueEstimation < estimation) {
                                bestMoveValueEstimation = estimation;
                                bestMove = move;
                        }
                }
                
                return bestMove;
        }