ajout dans le GestionnaireBdd

This commit is contained in:
2026-03-11 17:20:25 +01:00
parent 43f8e37aa4
commit 17a0ecb022

View File

@@ -39,6 +39,12 @@ public class GestionnaireBDD {
"score INT, " + "score INT, " +
"date_partie TIMESTAMP DEFAULT CURRENT_TIMESTAMP)"); "date_partie TIMESTAMP DEFAULT CURRENT_TIMESTAMP)");
// NOUVELLE TABLE POUR LES UTILISATEURS
stmt.execute("CREATE TABLE IF NOT EXISTS utilisateurs (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"identifiant TEXT UNIQUE NOT NULL, " +
"mot_de_passe TEXT NOT NULL)");
// Insertion des valeurs de difficulté par défaut // Insertion des valeurs de difficulté par défaut
// L'instruction "INSERT OR IGNORE" est spécifique à SQLite et évite les doublons. // L'instruction "INSERT OR IGNORE" est spécifique à SQLite et évite les doublons.
stmt.execute("INSERT OR IGNORE INTO difficultes (id_difficulte, vitesse, pente) VALUES (1, 6, 20);"); stmt.execute("INSERT OR IGNORE INTO difficultes (id_difficulte, vitesse, pente) VALUES (1, 6, 20);");
@@ -50,6 +56,44 @@ public class GestionnaireBDD {
} }
} }
public boolean verifierUtilisateur(String identifiant, String motDePasse) {
String sql = "SELECT id FROM utilisateurs WHERE identifiant = ? AND mot_de_passe = ?";
try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, identifiant);
pstmt.setString(2, motDePasse);
// Si rs.next() est vrai, cela signifie que la requête a trouvé une correspondance.
return pstmt.executeQuery().next();
} catch (SQLException e) {
System.out.println("Erreur lors de la vérification des identifiants : " + e.getMessage());
return false;
}
}
public boolean creerCompte(String identifiant, String motDePasse) {
String checkSql = "SELECT id FROM utilisateurs WHERE identifiant = ?";
try (PreparedStatement checkPstmt = conn.prepareStatement(checkSql)) {
checkPstmt.setString(1, identifiant);
if (checkPstmt.executeQuery().next()) {
System.out.println("L'identifiant '" + identifiant + "' existe déjà.");
return false; // L'utilisateur existe déjà
}
} catch (SQLException e) {
System.out.println("Erreur lors de la vérification de l'utilisateur : " + e.getMessage());
return false;
}
String insertSql = "INSERT INTO utilisateurs(identifiant, mot_de_passe) VALUES(?, ?)";
try (PreparedStatement pstmt = conn.prepareStatement(insertSql)) {
pstmt.setString(1, identifiant);
pstmt.setString(2, motDePasse);
pstmt.executeUpdate();
System.out.println("Compte pour '" + identifiant + "' créé avec succès.");
return true;
} catch (SQLException e) {
System.out.println("Erreur lors de la création du compte : " + e.getMessage());
return false;
}
}
public double[] getParametresDifficulte(int difficulteId) { public double[] getParametresDifficulte(int difficulteId) {
// Par défaut (si non trouvé), on retourne les valeurs pour la difficulté 1. // Par défaut (si non trouvé), on retourne les valeurs pour la difficulté 1.
double[] params = {6.0, 20.0}; double[] params = {6.0, 20.0};