diff --git a/.linea.vpp.lck b/.linea.vpp.lck new file mode 100644 index 0000000..e69de29 diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..66259be --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "java.project.sourcePaths": [ + "linea" + ], + "java.project.referencedLibraries": [ + "sqlite-jdbc-3.49.1.0.jar" + ] +} \ No newline at end of file diff --git a/linea/linea/Databases/Niveaux.db b/linea/linea/Databases/Niveaux.db new file mode 100644 index 0000000..d753674 Binary files /dev/null and b/linea/linea/Databases/Niveaux.db differ diff --git a/linea/linea/Jeu.java b/linea/linea/Jeu.java index 6e2afd0..ab27c9c 100644 --- a/linea/linea/Jeu.java +++ b/linea/linea/Jeu.java @@ -152,7 +152,7 @@ public class Jeu implements KeyListener, ActionListener{ if(verification){ this.score += 10; }else{ - this.score = this.score; + // Le score reste identique //------------------------------------------------------------------------------------------------------------------- // A FAIRE: Le jeu peut s'arrêter si la ligne n'est pas dans le cercle diff --git a/linea/linea/NiveauxDataConnect.java b/linea/linea/NiveauxDataConnect.java new file mode 100644 index 0000000..317eb64 --- /dev/null +++ b/linea/linea/NiveauxDataConnect.java @@ -0,0 +1,67 @@ +package linea; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.sql.Statement; + + +// Cette classe est celle qui gère la connexion à la base de données Niveaux.db +public class NiveauxDataConnect { + //Création d'une variable de connexion à la base de données + private static final String url = "jdbc:sqlite:Niveaux.db"; + private static boolean tablesCreees = false; // Variable pour vérifier si les tables ont été créées + + //Constructeur de la classe + public NiveauxDataConnect() throws ClassNotFoundException { + // Initialisation de la connexion à la base de données + Connection conn = getConnection(); + if (conn != null) { + System.out.println("Connexion à la base de données réussie !"); + } else { + System.out.println("Connexion échouée !"); + } + } + + //Méthode de connexion à la base de données Niveaux.db + public static Connection getConnection() { + try { + Connection conn = DriverManager.getConnection(url); + System.out.println("Connexion à la base de données réussie !"); + + // Vérifier si les tables ont déjà été créées pour éviter de les recréer à chaque connexion + if (!tablesCreees) { + CreerTableNiveaux(conn); + tablesCreees = true; // Marquer les tables comme créées + } + + return conn; + } catch (SQLException e) { + System.out.println("Erreur lors de la connexion à la base de données : " + e.getMessage()); + return null; + } + } + + //Méthode pour créer la table Niveaux si elle n'existe pas déjà + private static void CreerTableNiveaux(Connection conn) { + + String sql = "CREATE TABLE IF NOT EXISTS niveau( " + + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + + "nom TEXT NOT NULL, " + + "vitesse_ligne INTEGER NOT NULL," /*vitesse de la ligne*/ + + "nb_segments INTEGER NOT NULL," /*nombre de segments à faire passer au joueur pour réussir le niveau*/ + +");" ; + + try (Statement stmt = conn.createStatement()) { + stmt.execute(sql); + + } catch (SQLException e) { + System.err.println("Erreur lors de la création de la table Niveaux : " + e.getMessage()); + System.out.println("Connexion échouée !"); + e.printStackTrace(); + } + + } + + +} diff --git a/sqlite-jdbc-3.49.1.0.jar b/sqlite-jdbc-3.49.1.0.jar new file mode 100644 index 0000000..071afa6 Binary files /dev/null and b/sqlite-jdbc-3.49.1.0.jar differ