private void updatePlaerInfoPosition(PlayerInfo playerInfo, Direction direction) {
    switch (direction) {
    case NORTH:
      playerInfo.decrementY();
      break;
    case EAST:
      playerInfo.incrementX();
      break;
    case SOUTH:
      playerInfo.incrementY();
      break;
    case WEST:
      playerInfo.decrementX();
      break;
    case NORTH_EAST:
      playerInfo.incrementX();
      playerInfo.decrementY();
      break;
    case SOUTH_EAST:
      playerInfo.incrementX();
      playerInfo.incrementY();
      break;
    case SOUTH_WEST:
      playerInfo.decrementX();
      playerInfo.incrementY();
      break;
    case NORTH_WEST:
      playerInfo.decrementX();
      playerInfo.decrementY();
      break;
    default:
      // TODO throw an exception here)(?)
      log.error("wrong direction!!!");
      break;
    }
    byte posZ = mapReader.getCellAltitude(playerInfo.getPosX(), playerInfo.getPosY());
    playerInfo.setPosZ(posZ);
  }