@Override
	public void doAction(Player player, Grid grid) throws InvalidActionException {
		if (player.getRemainingTurns() <= 0)
			throw new InvalidActionException("The player has no turns left!");
		
		Position currentPos = player.getPosition();
		Position newPos = new Position(currentPos.getxCoordinate() + 1, currentPos.getyCoordinate() - 1);
		
		if (!canMoveToPosition(player, grid, newPos) || !canMoveDiagonal(grid, newPos))
			throw new InvalidActionException("The player can't move to the desired position!");
		
		player.setPosition(newPos);
		player.getLightTrail().addPosition(currentPos);
		player.decrementTurn();
	}