add icon and app name
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
projet_linea/bin/images/icone.png
Normal file
BIN
projet_linea/bin/images/icone.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 815 KiB |
@@ -1,24 +1,55 @@
|
||||
import java.awt.*;
|
||||
import java.net.URL;
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.swing.*;
|
||||
|
||||
public class CadreDeConnexion extends JFrame {
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Méthode peremttant de charger(récupérer) l'image îcone depuis Ressources
|
||||
// -------------------------------------------------------------------------
|
||||
private Image chargerImageDepuisRessource(String cheminRessource) {
|
||||
try {
|
||||
URL url = getClass().getResource(cheminRessource);
|
||||
if (url != null) {
|
||||
return ImageIO.read(url);
|
||||
}
|
||||
System.err.println("Ressource introuvable : " + cheminRessource);
|
||||
} catch (Exception e) {
|
||||
System.err.println("Erreur chargement image : " + e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public CadreDeConnexion() {
|
||||
// 1. Configuration de base
|
||||
setTitle("Connexion Linea");
|
||||
|
||||
// Image de fond de la page de connexion
|
||||
Background panelBackground = null;
|
||||
|
||||
// 1. On change l'icône de CETTE fenêtre (this)
|
||||
Image imageConnexion = chargerImageDepuisRessource("/images/icone.png");
|
||||
// Si l'image est différent de null, on modifie l'icone de notre application
|
||||
// Et on l'applique comme image de fond
|
||||
if (imageConnexion != null) {
|
||||
this.setIconImage(imageConnexion);
|
||||
panelBackground = new Background(imageConnexion);
|
||||
}
|
||||
|
||||
// 2. Configuration de base
|
||||
setTitle("ZENITH FLUX");
|
||||
setSize(800, 600);
|
||||
setDefaultCloseOperation(EXIT_ON_CLOSE);
|
||||
setLocationRelativeTo(null); // Centre la fenêtre
|
||||
|
||||
// 2. Style du panneau principal (Gris foncé)
|
||||
JPanel panel = new JPanel(new GridBagLayout());
|
||||
panel.setBackground(new Color(30, 30, 30));
|
||||
add(panel);
|
||||
// 3. Style du panneau principal (Gris foncé)
|
||||
// JPanel panel = new JPanel(new GridBagLayout());
|
||||
JPanel panel = new ZoneDessin(panelBackground);
|
||||
panel.setLayout(new GridBagLayout());
|
||||
|
||||
// Conteneur pour les éléments (pour les empiler verticalement)
|
||||
Box box = Box.createVerticalBox();
|
||||
|
||||
// 3. Création des composants
|
||||
// 4. Création des composants
|
||||
JLabel titre = new JLabel("CONNEXION");
|
||||
titre.setForeground(Color.WHITE);
|
||||
titre.setFont(new Font("Arial", Font.BOLD, 24));
|
||||
@@ -36,7 +67,7 @@ public class CadreDeConnexion extends JFrame {
|
||||
loginBtn.setFocusPainted(false);
|
||||
loginBtn.setAlignmentX(Component.CENTER_ALIGNMENT);
|
||||
|
||||
// 4. Ajout des composants avec des espaces (Struts)
|
||||
// 5. Ajout des composants avec des espaces (Struts)
|
||||
box.add(titre);
|
||||
box.add(Box.createVerticalStrut(30)); // Espace
|
||||
box.add(new JLabel("<html><font color='white'>Utilisateur :</font></html>"));
|
||||
@@ -56,8 +87,9 @@ public class CadreDeConnexion extends JFrame {
|
||||
box.add(createBtn);
|
||||
|
||||
panel.add(box); // Ajoute la boîte au centre du GridBagLayout
|
||||
setContentPane(panel); // Branche enfin le panneau personnalisé à la fenêtre
|
||||
|
||||
// 5. Logique du bouton
|
||||
// 6. Logique du bouton
|
||||
loginBtn.addActionListener(e -> {
|
||||
String user = userField.getText();
|
||||
String pass = new String(passField.getPassword());
|
||||
@@ -78,9 +110,16 @@ public class CadreDeConnexion extends JFrame {
|
||||
createFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||
createFrame.setLocationRelativeTo(null);
|
||||
|
||||
JPanel createPanel = new JPanel(new GridBagLayout());
|
||||
createPanel.setBackground(new Color(30, 30, 30));
|
||||
createFrame.add(createPanel);
|
||||
Image imageCreation = chargerImageDepuisRessource("/images/icone.png");
|
||||
if (imageCreation != null) {
|
||||
createFrame.setIconImage(imageCreation);
|
||||
}
|
||||
Background panelBackgroundCreation = (imageCreation != null) ? new Background(imageCreation) : null;
|
||||
|
||||
JPanel createPanel = new ZoneDessin(panelBackgroundCreation);
|
||||
// JPanel createPanel = new JPanel(new GridBagLayout());
|
||||
createPanel.setLayout(new GridBagLayout());
|
||||
createFrame.setContentPane(createPanel);
|
||||
|
||||
Box createBox = Box.createVerticalBox();
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercl
|
||||
//-------------------------------------------------------------------------
|
||||
// PROPRIETES
|
||||
//-------------------------------------------------------------------------
|
||||
private double gravite = 10.0;
|
||||
protected double rayon = 30;
|
||||
protected double depY = 0; // déplacement
|
||||
|
||||
@@ -74,6 +75,12 @@ public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercl
|
||||
return y;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Méthod epour mettre à jour la gravité du cercle depuis la classe
|
||||
//-------------------------------------------------------------------------
|
||||
public void setGravite(double nouvelleGravite) {
|
||||
this.gravite = nouvelleGravite;
|
||||
}
|
||||
//-------------------------------------------------------------------------
|
||||
// Méthode qui note que up a été appuyée
|
||||
// -> le booléen permet de ne plus être tributaire
|
||||
@@ -116,14 +123,14 @@ public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercl
|
||||
// pas est à prendre comme un "delta t"
|
||||
|
||||
// chute libre
|
||||
vitesse = vitesse + 9.81 * pas;
|
||||
vitesse = vitesse + gravite * pas;
|
||||
|
||||
// impulsion
|
||||
if (montee==true) {
|
||||
vitesse = vitesse - impulsion *pas;
|
||||
}
|
||||
|
||||
depY = 1/2 * 9.81 + vitesse * pas;
|
||||
depY = 1/2 * gravite + vitesse * pas;
|
||||
|
||||
if (depY<-10) {
|
||||
depY=-10;
|
||||
|
||||
@@ -84,13 +84,14 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
|
||||
if( n1 != null ){
|
||||
try {
|
||||
// On charge l'mage du niveau 1
|
||||
// On charge l'image du niveau 1
|
||||
java.net.URL url = Jeu.class.getResource("/" + n1.getImage());
|
||||
if(url != null){
|
||||
java.awt.Image img = javax.imageio.ImageIO.read(url);
|
||||
premierFond = new Background(img);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -236,6 +237,18 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
this.dernierSegmentValide = null;
|
||||
this.ecran.partiePerdue = false;
|
||||
|
||||
// Formule : Gravité de base - (Niveau * incrément)
|
||||
// Niveau 1 : 10.0 + (1 * 1.50) = 8.5 (poids normal)
|
||||
// Niveau 4 : 10.0 + (4 * 1.50) = 4.0 (Très léger et plane)
|
||||
double graviteNiveau = 10.0 - (this.niveauEnCours.getId() * 1.5);
|
||||
// Sécurité: La gravité du niveau ne doit pas descendre en dessous de 2
|
||||
// Sinon le cercle ne retomberait plus jamais
|
||||
if(graviteNiveau < 2.0){
|
||||
graviteNiveau = 2.0;
|
||||
}
|
||||
this.demiCercleAvant.setGravite(graviteNiveau);
|
||||
this.demiCercleArriere.setGravite(graviteNiveau);
|
||||
|
||||
|
||||
// On corse le jeu avec son ID
|
||||
//On applique les paramètres aux options de jeu
|
||||
@@ -269,7 +282,7 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
|
||||
// Petite pause avec un message
|
||||
horloge.stop();
|
||||
JOptionPane.showMessageDialog(fenetre, "Niveau terminé ! Préparez-vous pour le niveau suivant ;)");
|
||||
JOptionPane.showMessageDialog(fenetre, "Niveau terminé ! Préparez-vous pour le niveau suivant 😉 OU PERDEZ 😈");
|
||||
|
||||
chargerNiveau(idNiveauActuel);
|
||||
horloge.start();
|
||||
|
||||
@@ -124,24 +124,24 @@ public class NiveauxDataConnect {
|
||||
// le jeu est lancé
|
||||
// Pour corser le jeu, on utilisera l'id du niveau qui nous servira de difficulté
|
||||
// --------------------------------Niveau 1 --------------------------------
|
||||
// nom = "Facile", vitesse_ligne = 5, nb_segments = 50, image = "images\ciel.jpeg", multiplicateur_score = 1, couleur_cercle = "bleu"
|
||||
// nom = "Facile", vitesse_ligne = 5, nb_segments = 50, image = "images\ciel.jpeg", multiplicateur_score = 10, couleur_cercle = "bleu"
|
||||
// --------------------------------Niveau 2 --------------------------------
|
||||
// nom = "intermédaire", vitesse_ligne = 7, nb_segments = 100, image = "images\montagnes.jpg", multiplicateur_score = 2, couleur_cercle = "gris"
|
||||
// nom = "intermédaire", vitesse_ligne = 7, nb_segments = 100, image = "images\montagnes.jpg", multiplicateur_score = 20, couleur_cercle = "gris"
|
||||
// --------------------------------Niveau 3 --------------------------------
|
||||
// nom = "Difficile", vitesse_ligne = 9, nb_segments = 100, image = "images\volcan.jpg", multiplicateur_score = 3, couleur_cercle = "marron"
|
||||
// nom = "Difficile", vitesse_ligne = 9, nb_segments = 100, image = "images\volcan.jpg", multiplicateur_score = 30, couleur_cercle = "marron"
|
||||
// --------------------------------Niveau 4 --------------------------------
|
||||
// nom = "Ultime", vitesse_ligne = 10, nb_segments = 150, image = "images\espace.jpg", multiplicateur_score = 4, couleur_cercle = "violet"
|
||||
// nom = "Ultime", vitesse_ligne = 10, nb_segments = 150, image = "images\espace.jpg", multiplicateur_score = 50, couleur_cercle = "violet"
|
||||
// -------------------------------------------------------------------------
|
||||
public static void insererNiveau(Connection conn) {
|
||||
String query1 = "INSERT INTO niveau(nom, vitesse_ligne, nb_segments, image, multiplicateur_score, couleur_cercle) "
|
||||
+ "VALUES('Facile', 5, 50, 'images/ciel.jpeg', 1, '#0000FF');";
|
||||
+ "VALUES('Facile', 5, 50, 'images/ciel.jpeg', 10, '#0000FF');";
|
||||
|
||||
String query2 = "INSERT INTO niveau(nom, vitesse_ligne, nb_segments, image, multiplicateur_score, couleur_cercle) "
|
||||
+ "VALUES('Intermédiaire', 7, 100, 'images/montagnes.jpg', 2, '#808080');";
|
||||
+ "VALUES('Intermédiaire', 7, 100, 'images/montagnes.jpg', 20, '#808080');";
|
||||
String query3 = "INSERT INTO niveau(nom, vitesse_ligne, nb_segments, image, multiplicateur_score, couleur_cercle) "
|
||||
+ "VALUES('Difficile', 9, 100, 'images/volcan.jpg', 3, '#8B4513');";
|
||||
+ "VALUES('Difficile', 9, 100, 'images/volcan.jpg', 30, '#8B4513');";
|
||||
String query4 = "INSERT INTO niveau(nom, vitesse_ligne, nb_segments, image, multiplicateur_score, couleur_cercle) "
|
||||
+ "VALUES('Ultime', 10, 150, 'images/espace.jpg', 4, '#9400D3');";
|
||||
+ "VALUES('Ultime', 10, 150, 'images/espace.jpg', 50, '#9400D3');";
|
||||
|
||||
try (Statement stmt = conn.createStatement()) {
|
||||
stmt.execute(query1);
|
||||
|
||||
Binary file not shown.
BIN
projet_linea/src/images/icone.png
Normal file
BIN
projet_linea/src/images/icone.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 815 KiB |
Reference in New Issue
Block a user