Jeu fonctionnel
This commit is contained in:
10
.idea/.gitignore
generated
vendored
Normal file
10
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Environment-dependent path to Maven home directory
|
||||
/mavenHomeManager.xml
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
1
.idea/.name
generated
Normal file
1
.idea/.name
generated
Normal file
@@ -0,0 +1 @@
|
||||
ObjetGraphique.java
|
||||
6
.idea/misc.xml
generated
Normal file
6
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_24" default="true" project-jdk-name="24" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/Projet_DEV.iml" filepath="$PROJECT_DIR$/Projet_DEV.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
11
Projet_DEV.iml
Normal file
11
Projet_DEV.iml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -10,6 +10,8 @@
|
||||
*.zip
|
||||
*.tar.gz
|
||||
*.rar
|
||||
*.idea
|
||||
*.out
|
||||
|
||||
### --- Dossiers de Build --- ###
|
||||
target/
|
||||
|
||||
BIN
out/production/Projet_DEV/linea/Cercle.class
Normal file
BIN
out/production/Projet_DEV/linea/Cercle.class
Normal file
Binary file not shown.
BIN
out/production/Projet_DEV/linea/Jeu.class
Normal file
BIN
out/production/Projet_DEV/linea/Jeu.class
Normal file
Binary file not shown.
BIN
out/production/Projet_DEV/linea/Ligne.class
Normal file
BIN
out/production/Projet_DEV/linea/Ligne.class
Normal file
Binary file not shown.
BIN
out/production/Projet_DEV/linea/LineaAppli.class
Normal file
BIN
out/production/Projet_DEV/linea/LineaAppli.class
Normal file
Binary file not shown.
BIN
out/production/Projet_DEV/linea/ObjetGraphique.class
Normal file
BIN
out/production/Projet_DEV/linea/ObjetGraphique.class
Normal file
Binary file not shown.
BIN
out/production/Projet_DEV/linea/Segment.class
Normal file
BIN
out/production/Projet_DEV/linea/Segment.class
Normal file
Binary file not shown.
BIN
out/production/Projet_DEV/linea/ZoneDessin.class
Normal file
BIN
out/production/Projet_DEV/linea/ZoneDessin.class
Normal file
Binary file not shown.
@@ -69,7 +69,8 @@ public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercl
|
||||
// -> le booléen permet de ne plus être tributaire
|
||||
// de la vitesse de répétition du clavier
|
||||
//-------------------------------------------------------------------------
|
||||
public void Monter(){
|
||||
public void Monter(){
|
||||
|
||||
montee = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
// un qui passera dessus
|
||||
protected Cercle demiCercleAvant = new Cercle(90,-180); // celui qui est sur la ligne
|
||||
protected Cercle demiCercleArriere = new Cercle(90,180); // celui qui est derrière la ligne
|
||||
Ligne laligne = new Ligne();
|
||||
|
||||
// A FAIRE : ajouter les objets graphiques manquants, s'il y en a
|
||||
|
||||
@@ -46,12 +47,10 @@ 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);
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
@@ -111,7 +110,6 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
// Création d'une fenêtre
|
||||
JFrame fenetre = new JFrame();
|
||||
|
||||
Ligne laligne = new Ligne();
|
||||
ecran.ajouterObjet(demiCercleArriere);
|
||||
ecran.ajouterObjet(demiCercleAvant);
|
||||
ecran.ajouterObjet(laligne);
|
||||
@@ -127,7 +125,7 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
|
||||
// Démarrage du timer, qui rythmera l'animation
|
||||
horloge = new Timer(40, this);
|
||||
horloge = new Timer(20, this);
|
||||
horloge.start();
|
||||
|
||||
demiCercleArriere.setCouleur(new Color(0.8f, 0.0f, 0.0f));
|
||||
@@ -140,7 +138,7 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
//-------------------------------------------------------------------------
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
|
||||
ecran.traiterBoucleAnimation();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -36,19 +36,26 @@ public class Ligne extends ObjetGraphique{// Hérite de la classe ObjetGraphique
|
||||
// Valeurs initiales pour la position de la Ligne
|
||||
double x = 800;
|
||||
double y = 200;
|
||||
double dx,dy;
|
||||
|
||||
double xCourant = x;
|
||||
double yCourant = y;
|
||||
double dx = 0,dy=0;
|
||||
|
||||
|
||||
// Création de la liste de segments qui composent la ligne
|
||||
Segment s;
|
||||
Segment s = new Segment(xCourant,yCourant,dx,dy);
|
||||
|
||||
|
||||
for (int i=0; i<nbSegments; i++){
|
||||
// définition d'un nouveau segment
|
||||
dx = Math.random()*20+80;
|
||||
dy = Math.random()*40-20;
|
||||
dx = (Math.random()*20)+80;
|
||||
dy = (Math.random()*60)-30;
|
||||
s = new Segment(x,y,dx,dy);
|
||||
s.setCouleur(new Color(0.2f,0.2f,0.2f));
|
||||
|
||||
x+=dx;
|
||||
y+=dy;
|
||||
listSegments.add(s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,11 +81,16 @@ public class Ligne extends ObjetGraphique{// Hérite de la classe ObjetGraphique
|
||||
// Redéfinition de la méthode Animer, spécifiquement pour la classe Ligne
|
||||
//-------------------------------------------------------------------------
|
||||
@Override
|
||||
public void Animer() {
|
||||
|
||||
// Principe :
|
||||
// on parcourt tous les segments et on décale chacun de 10 pixels (par exemple)
|
||||
// vers la gauche
|
||||
|
||||
void Animer() {
|
||||
// On déplace chaque segment vers la gauche (vitesse arbitraire de 5)
|
||||
double vitesseDefilement = 5.0;
|
||||
|
||||
// On met à jour le x de la ligne (utilisé pour le calcul de position)
|
||||
this.x -= vitesseDefilement;
|
||||
|
||||
// On répercute sur chaque segment
|
||||
for (Segment s : listSegments) {
|
||||
s.setX(s.getX() - vitesseDefilement);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,8 +14,7 @@ abstract class ObjetGraphique {
|
||||
|
||||
// Position
|
||||
protected double x;
|
||||
protected double y;
|
||||
|
||||
protected double y;
|
||||
protected Color couleur = new Color(0.0f,0.2f,0.2f);
|
||||
|
||||
|
||||
|
||||
@@ -54,6 +54,6 @@ public class Segment extends ObjetGraphique { // Hérite de la classe ObjetGraph
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setX(double x) { this.x = x; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user