diff --git a/src/linea/CampagneOcean.java b/src/linea/CampagneOcean.java new file mode 100644 index 0000000..3429ecb --- /dev/null +++ b/src/linea/CampagneOcean.java @@ -0,0 +1,54 @@ +package linea; + +import javax.swing.Timer; +import java.awt.Color; + +public class CampagneOcean { + + protected Jeu jeuPrincipal; + + public CampagneOcean(Jeu jeu) { + this.jeuPrincipal = jeu; + } + + public void demarrerLeNiveau(int niveau) { + System.out.println("Lancement du niveau Ocean - Difficulté : " + niveau); + + if (jeuPrincipal.horloge != null) { + jeuPrincipal.horloge.stop(); + } + jeuPrincipal.horloge = new Timer(40, jeuPrincipal); + + jeuPrincipal.ecran.viderObjets(); + + FondOcean monFond = new FondOcean(); + jeuPrincipal.ecran.ajouterObjet(monFond); + + jeuPrincipal.laligne = new Ligne(); + + if (niveau == 1) { + jeuPrincipal.laligne.setInclinaisonMax(10.0); + } else if (niveau == 2) { + jeuPrincipal.laligne.setInclinaisonMax(30.0); + } else { + jeuPrincipal.laligne.setInclinaisonMax(55.0); + } + jeuPrincipal.ecran.ajouterObjet(jeuPrincipal.laligne); + + Cercle joueur = new Cercle(0, 360); + joueur.setCouleur(new Color(200, 230, 255)); + jeuPrincipal.ecran.ajouterObjet(joueur); + + jeuPrincipal.demiCercleAvant = joueur; + jeuPrincipal.demiCercleArriere = joueur; + + jeuPrincipal.ecran.setGameOver(false); + jeuPrincipal.score = 0; + jeuPrincipal.labScore.setText("

Oxygène : 0

"); + + jeuPrincipal.layout.show(jeuPrincipal.conteneurPrincipal, "JEU"); + jeuPrincipal.ecran.setFocusable(true); + jeuPrincipal.ecran.requestFocusInWindow(); + jeuPrincipal.horloge.start(); + } +} \ No newline at end of file diff --git a/src/linea/FondOcean.java b/src/linea/FondOcean.java new file mode 100644 index 0000000..2b1c254 --- /dev/null +++ b/src/linea/FondOcean.java @@ -0,0 +1,36 @@ +package linea; + +import java.awt.Color; +import java.awt.Graphics; + +public class FondOcean extends ObjetGraphique { + + private int[] positionsBullesX = {100, 250, 400, 550, 700, 150, 450}; + private int[] positionsBullesY = {600, 800, 700, 900, 650, 1000, 1100}; + private int vitesseRemonteeDesBulles = 2; + + public FondOcean() { + super(); + } + + @Override + void Afficher(Graphics pinceau) { + pinceau.setColor(new Color(0, 105, 148)); + pinceau.fillRect(0, 0, 800, 600); + + pinceau.setColor(new Color(255, 255, 255, 150)); + for (int i = 0; i < positionsBullesX.length; i++) { + pinceau.drawOval(positionsBullesX[i], positionsBullesY[i], 10, 10); + } + } + @Override + void Animer() { + for (int i = 0; i < positionsBullesY.length; i++) { + positionsBullesY[i] = positionsBullesY[i] - vitesseRemonteeDesBulles; + + if (positionsBullesY[i] < -20) { + positionsBullesY[i] = 650; + } + } + } +}