package com.example.boidelov3;

import java.util.List;

/**
 * Représente une question du jeu Boidelo avec toutes ses propriétés.
 *
 * <p>Cette classe contient toutes les informations nécessaires pour afficher
 * et traiter une question lors du jeu.</p>
 *
 * <p>Propriétés principales :</p>
 * <ul>
 *   <li>{@code id} : Identifiant unique de la question</li>
 *   <li>{@code question} : Texte de la question (peut contenir des balises)</li>
 *   <li>{@code gorger} : Nombre de gorgées à boire/distribuer</li>
 *   <li>{@code distribution} : Si vrai, le joueur distribue des gorgées</li>
 *   <li>{@code recois} : Si vrai, le joueur boit des gorgées</li>
 *   <li>{@code manches} : Si vrai, la question est un défi à manches</li>
 *   <li>{@code caliente} : Si vrai, la question est spéciale/hot</li>
 *   <li>{@code variante} : Liste des choix possibles pour une variante</li>
 * </ul>
 *
 * <p>Balises spéciales dans le texte :</p>
 * <ul>
 *   <li>{@code <J1>}, {@code <J2>}, {@code <J3>} : Joueurs sélectionnés</li>
 *   <li>{@code <manches>} : Nombre de manches pour un défi</li>
 *   <li>{@code <variante>} : Choix à remplacer par une variante</li>
 * </ul>
 */
public class Question {
    private int id;
    private String question;
    private int gorger;
    private boolean distribution;
    private List<String> variante;
    private boolean recois;
    private boolean manches;
    private boolean caliente;
    private String arret; // mise à jour du type de données
    private int manchesRestantes; // pour le nombre de manches restantes
    private String arretMessage; // pour le message d'arrêt
    private String arretMessageManche; // pour le message d'arrêt pour les manches

    /**
     * Constructeur par défaut.
     * Initialise tous les champs à leurs valeurs par défaut.
     */
    public Question() {
    }

    // Getters et setters pour tous les champs

    /**
     * Retourne l'identifiant unique de la question.
     * @return L'ID de la question
     */
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getQuestion() {
        return question;
    }

    public void setQuestion(String question) {
        this.question = question;
    }

    public int getGorger() {
        return gorger;
    }

    public void setGorger(int gorger) {
        this.gorger = gorger;
    }

    public boolean isDistribution() {
        return distribution;
    }

    public void setDistribution(boolean distribution) {
        this.distribution = distribution;
    }

    public List<String> getVariante() {
        return variante;
    }

    public void setVariante(List<String> variante) {
        this.variante = variante;
    }

    public boolean isRecois() {
        return recois;
    }

    public void setRecois(boolean recois) {
        this.recois = recois;
    }

    public boolean isManches() {
        return manches;
    }

    public void setManches(boolean manches) {
        this.manches = manches;
    }

    public String getArret() {
        return arret;
    }

    public void setArret(String arret) {
        this.arret = arret;
    }

    public int getManchesRestantes() {
        return manchesRestantes;
    }

    public void setManchesRestantes(int manchesRestantes) {
        this.manchesRestantes = manchesRestantes;
    }

    public String getArretMessage() {
        return arretMessage;
    }

    public void setArretMessage(String arretMessage) {
        this.arretMessage = arretMessage;
    }
    public String getArretMessageManche() {
        return arretMessageManche;
    }

    public void setArretMessageManche(String arretMessageManche) {
        this.arretMessageManche = arretMessageManche;
    }

    public boolean isCaliente() {
        return caliente;
    }

    public void setCaliente(boolean caliente) {
        this.caliente = caliente;
    }
}
