public void fire(int boatX, int boatY, int shotX, int shotY) {
        Boat boat = getPlayerBoat(boatX, boatY);
        if (boat != null && boat.getNbCoupRestant() > 0) {
            try {
                updater.addShot(new Shot(game, boat, shotX, shotY));
                boat.decrNbCoupRestant();
                notifyChanges("shot added");
            } catch (SQLException ex) {
                Logger.getLogger(PlayerModel.class.getName()).log(Level.SEVERE, null, ex);
                notifyChanges("SQL exception");
            }
        } else if (boat != null && boat.getNbCoupRestant() == 0) {
            notifyChanges("no more moves");
        } else {
            notifyChanges("invalid boat selection");
        }
    }