ajout dans le GestionnaireBdd
This commit is contained in:
@@ -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};
|
||||||
|
|||||||
Reference in New Issue
Block a user