Compare commits
4 Commits
Line_Anima
...
74746c1ad7
| Author | SHA1 | Date | |
|---|---|---|---|
| 74746c1ad7 | |||
| e3b3fc5f62 | |||
| f0db5f43ad | |||
| 74d9d60db8 |
0
.linea.vpp.lck
Normal file
0
.linea.vpp.lck
Normal file
@@ -64,7 +64,8 @@ public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercl
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Méthode qui retourne la position du cercle en y (utile pour la classe qui vérifiera si la ligne passe dans le cercle)
|
||||
// Méthode qui retourne la position du cercle en y
|
||||
// (utile pour la classe qui vérifiera si la ligne passe dans le cercle)
|
||||
//-------------------------------------------------------------------------
|
||||
@Override
|
||||
public double getY(){
|
||||
|
||||
BIN
linea/linea/Databases/Niveaux.db
Normal file
BIN
linea/linea/Databases/Niveaux.db
Normal file
Binary file not shown.
@@ -36,6 +36,7 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
// un label qui servira à afficher le score
|
||||
protected JLabel labScore;
|
||||
|
||||
protected boolean jeuCommence = false;
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// METHODES
|
||||
@@ -46,12 +47,12 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
//-------------------------------------------------------------------------
|
||||
public Jeu(){
|
||||
// Gestion du score : a réactiver en fin de TP, inutile au début
|
||||
/*
|
||||
|
||||
labScore = new JLabel();
|
||||
labScore.setText("<html><h3>score : 0</h3></html>");
|
||||
labScore.setBounds(20, 0, 200, 50);
|
||||
ecran.add(labScore);
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -148,14 +149,26 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
this.ecran.traiterBoucleAnimation();
|
||||
boolean verification = this.laLigne.estDansCercle(this.demiCercleAvant);
|
||||
/*if(verification == false){
|
||||
//horloge.stop();
|
||||
System.out.println("Perdu ! Votre score est de : " + this.score);
|
||||
// A FAIRE : si la ligne est dans le cercle, on augmente le score, sinon on le remet à 0
|
||||
if(verification){
|
||||
this.score += 10;
|
||||
this.jeuCommence = true; // Le jeu commence dès que la ligne est dans le cercle
|
||||
}else{
|
||||
this.score = this.score;
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------
|
||||
// A FAIRE: Le jeu peut s'arrêter si la ligne n'est pas dans le cercle
|
||||
// NB: Le jeu commence quand la ligne est dans le cercle
|
||||
// Au début le ligne n'est pas dans le cercle car la ligne est à droite du cercle, et elle se déplace vers la gauche
|
||||
//-------------------------------------------------------------------------------------------------------------------
|
||||
if (this.jeuCommence) {
|
||||
this.horloge.stop(); // 1. Arrêter le temps
|
||||
this.ecran.partiePerdue = true; // 2. Signaler à l'écran
|
||||
this.ecran.repaint(); // 3. Forcer l'affichage du texte
|
||||
}
|
||||
}
|
||||
else{
|
||||
this.score += 1;
|
||||
System.out.println("Score : " + this.score);
|
||||
}*/
|
||||
labScore.setText("<html><h3>score : " + this.score + "</h3></html>");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -128,6 +128,7 @@ public class Ligne extends ObjetGraphique{// Hérite de la classe ObjetGraphique
|
||||
// fallback : prendre le premier segment si aucune correspondance
|
||||
if (this.SegCourant == null && !this.listeSegments.isEmpty()) {
|
||||
this.SegCourant = this.listeSegments.get(0);
|
||||
this.SegCourant.setCouleur(Color.BLACK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,11 +145,17 @@ public class Ligne extends ObjetGraphique{// Hérite de la classe ObjetGraphique
|
||||
// Le point i du segment courant est dans le cercle, on peut continuer à vérifier les autres points du segment
|
||||
this.SegCourant.setCouleur(Color.GREEN);
|
||||
dansCercle = true;
|
||||
break;
|
||||
}else{
|
||||
// On peut s'arrêter dès qu'on trouve un point hors du cercle, car le segment courant n'est plus dans le cercle
|
||||
this.SegCourant.setCouleur(Color.RED);
|
||||
dansCercle = false;
|
||||
break;
|
||||
// A FAIRE: On doit arrêter le jeu si la ligne n'est pas dans le cercle
|
||||
// PROBLEME: Le jeu s'arrête dès le lancement car au départ la ligne n'est
|
||||
// pas dans le cercle (la ligne est à droite du cercle, et elle se déplace vers la gauche)
|
||||
// SOLUTION: Le jeu commence quand la ligne est dans le cercle,
|
||||
// et il s'arrête quand la ligne n'est plus dans le cercle
|
||||
//break;
|
||||
}
|
||||
}
|
||||
return dansCercle;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package linea;
|
||||
|
||||
|
||||
public class LineaAppli {
|
||||
//-------------------------------------------------------------------------
|
||||
// Classe de base de l'application, rien à modifier ici
|
||||
|
||||
@@ -16,7 +16,7 @@ public class ZoneDessin extends JPanel { // hérite d'une classe du frameWork st
|
||||
//-------------------------------------------------------------------------
|
||||
// PROPRIETES
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
public boolean partiePerdue = false;
|
||||
// un booleen qui permet d'arreter l'animation (suspendre)
|
||||
protected boolean estArrete = false;
|
||||
|
||||
@@ -104,6 +104,11 @@ public class ZoneDessin extends JPanel { // hérite d'une classe du frameWork st
|
||||
for(ObjetGraphique obj: listeObjets){
|
||||
obj.Afficher(g); //Chaque objet se dessine lui-même
|
||||
}
|
||||
if (this.partiePerdue) {
|
||||
g.setColor(Color.RED);
|
||||
g.setFont(new java.awt.Font("Arial", java.awt.Font.BOLD, 50));
|
||||
g.drawString("GAME OVER", 250, 300);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user