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
|
@Override
|
||||||
public double getY(){
|
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
|
// un label qui servira à afficher le score
|
||||||
protected JLabel labScore;
|
protected JLabel labScore;
|
||||||
|
|
||||||
|
protected boolean jeuCommence = false;
|
||||||
|
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
// METHODES
|
// METHODES
|
||||||
@@ -46,12 +47,12 @@ public class Jeu implements KeyListener, ActionListener{
|
|||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
public Jeu(){
|
public Jeu(){
|
||||||
// Gestion du score : a réactiver en fin de TP, inutile au début
|
// Gestion du score : a réactiver en fin de TP, inutile au début
|
||||||
/*
|
|
||||||
labScore = new JLabel();
|
labScore = new JLabel();
|
||||||
labScore.setText("<html><h3>score : 0</h3></html>");
|
labScore.setText("<html><h3>score : 0</h3></html>");
|
||||||
labScore.setBounds(20, 0, 200, 50);
|
labScore.setBounds(20, 0, 200, 50);
|
||||||
ecran.add(labScore);
|
ecran.add(labScore);
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -148,14 +149,26 @@ public class Jeu implements KeyListener, ActionListener{
|
|||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
this.ecran.traiterBoucleAnimation();
|
this.ecran.traiterBoucleAnimation();
|
||||||
boolean verification = this.laLigne.estDansCercle(this.demiCercleAvant);
|
boolean verification = this.laLigne.estDansCercle(this.demiCercleAvant);
|
||||||
/*if(verification == false){
|
// A FAIRE : si la ligne est dans le cercle, on augmente le score, sinon on le remet à 0
|
||||||
//horloge.stop();
|
if(verification){
|
||||||
System.out.println("Perdu ! Votre score est de : " + this.score);
|
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;
|
labScore.setText("<html><h3>score : " + this.score + "</h3></html>");
|
||||||
System.out.println("Score : " + this.score);
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ public class Ligne extends ObjetGraphique{// Hérite de la classe ObjetGraphique
|
|||||||
// fallback : prendre le premier segment si aucune correspondance
|
// fallback : prendre le premier segment si aucune correspondance
|
||||||
if (this.SegCourant == null && !this.listeSegments.isEmpty()) {
|
if (this.SegCourant == null && !this.listeSegments.isEmpty()) {
|
||||||
this.SegCourant = this.listeSegments.get(0);
|
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
|
// 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);
|
this.SegCourant.setCouleur(Color.GREEN);
|
||||||
dansCercle = true;
|
dansCercle = true;
|
||||||
|
break;
|
||||||
}else{
|
}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
|
// 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);
|
this.SegCourant.setCouleur(Color.RED);
|
||||||
dansCercle = false;
|
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;
|
return dansCercle;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package linea;
|
package linea;
|
||||||
|
|
||||||
|
|
||||||
public class LineaAppli {
|
public class LineaAppli {
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
// Classe de base de l'application, rien à modifier ici
|
// 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
|
// PROPRIETES
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
|
public boolean partiePerdue = false;
|
||||||
// un booleen qui permet d'arreter l'animation (suspendre)
|
// un booleen qui permet d'arreter l'animation (suspendre)
|
||||||
protected boolean estArrete = false;
|
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){
|
for(ObjetGraphique obj: listeObjets){
|
||||||
obj.Afficher(g); //Chaque objet se dessine lui-même
|
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