Ajout de beaucoup trop de choses

This commit is contained in:
emile.malcuit 2025-02-17 11:06:24 +01:00
parent 20f4e5a236
commit 3f45dc9cfa
10 changed files with 258 additions and 34 deletions

View File

@ -85,6 +85,9 @@
<Properties>
<Property name="text" type="java.lang.String" value="A propos"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMIaproposActionPerformed"/>
</Events>
</MenuItem>
</SubComponents>
</Menu>

View File

@ -359,6 +359,11 @@ public class Plateau_de_jeu extends javax.swing.JFrame {
jMenu2.add(jMIobjectif);
jMIapropos.setText("A propos");
jMIapropos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMIaproposActionPerformed(evt);
}
});
jMenu2.add(jMIapropos);
jMenuBar1.add(jMenu2);
@ -415,6 +420,8 @@ public class Plateau_de_jeu extends javax.swing.JFrame {
String nomPerso = perso.split(":")[1];
Personnage Perso = leJeu.rechercherPerso(nomPerso);
jTADefenseurCaracteristiques.setText(Perso.toString());
Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + Perso.getImg()));//getResource("/img/" + this.getImg()));
jLImageDefenseur.setIcon(imgPerso);
}//GEN-LAST:event_jCBoxDefenseurActionPerformed
private void jCBoxAttaquantActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCBoxAttaquantActionPerformed
@ -423,6 +430,8 @@ public class Plateau_de_jeu extends javax.swing.JFrame {
String nomPerso = perso.split(":")[1];
Personnage Perso = leJeu.rechercherPerso(nomPerso);
jTAAttaquantCaracteristiques.setText(Perso.toString());
Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + Perso.getImg()));//getResource("/img/" + this.getImg()));
jLImageAttaquant.setIcon(imgPerso);
}//GEN-LAST:event_jCBoxAttaquantActionPerformed
private void jCBoxAttaquantInputMethodTextChanged(java.awt.event.InputMethodEvent evt) {//GEN-FIRST:event_jCBoxAttaquantInputMethodTextChanged
@ -444,7 +453,8 @@ public class Plateau_de_jeu extends javax.swing.JFrame {
}//GEN-LAST:event_jMIquitActionPerformed
private void jMIobjectifActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMIobjectifActionPerformed
// TODO add your handling code here:
information j = new information();
j.objectif();
}//GEN-LAST:event_jMIobjectifActionPerformed
private void jMIaideActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMIaideActionPerformed
@ -452,6 +462,11 @@ public class Plateau_de_jeu extends javax.swing.JFrame {
j.aide();
}//GEN-LAST:event_jMIaideActionPerformed
private void jMIaproposActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMIaproposActionPerformed
information j = new information();
j.aPropos();
}//GEN-LAST:event_jMIaproposActionPerformed
private void majStatistiquesPersos(){

View File

@ -25,6 +25,17 @@ public class information {
}
public void objectif(){
String text = "L'objectif est qu'il ne reste plus que 1 seul survivant\n"
+ " rien de plus simple, \n"
+ "nous avons mis à disposition dans le menu une page d'ajout de personnage, amusez-vous";
JOptionPane.showMessageDialog(null, text, "Voici votre objectif", JOptionPane.INFORMATION_MESSAGE);
}
public void aPropos(){
String text = "Ce jeu vous est proposé par le bon LALORCEY--MALCUIT Emile\n"
+ "Création dans le cadre du BTS SIO\n"
+ "Ce jeu ne peux être utilisé à des fin commercials";
JOptionPane.showMessageDialog(null, text, "Aide envoyé", JOptionPane.INFORMATION_MESSAGE);
}
}

View File

@ -5,6 +5,7 @@
package jeuderole;
import metier.Jeu;
import metier.JeuBaton;
/**
* Test Classe Jeu
@ -21,17 +22,10 @@ public class JeuDeRolePolymorphisme {
mesPersonnages[2].saluer(mesPersonnages[0]);
mesPersonnages[1].saluer(mesPersonnages[2]);**/
Jeu role = new Jeu();
System.out.println(role.getmesPersonnages());
System.out.println(".................");
System.out.println(role);
System.out.println(role.rechercherPerso("Barbare"));
System.out.println(role.rechercherPerso("Panoramix"));
System.out.println(".................");
System.out.println(role.rechercherPerso("Barbare").rencontrer(role.rechercherPerso("Panoramix")));
System.out.println(role.rechercherPerso("Raptout").rencontrer(role.rechercherPerso("Barbare")));
//Jeu leJeu = new Jeu();
//leJeu.rechercherPerso("Yokai").rencontrer("Barbare")
JeuBaton baton = new JeuBaton();
baton.deroulerJeu();
}
}

View File

@ -0,0 +1,101 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package metier;
import javax.swing.Icon;
import javax.swing.JOptionPane;
/**
*
* @author emile.lalorcey
*/
public class FeeSombre extends Personnage{
private String type;
/**
* Constructeur de la classe FeeSombre
* @param nom
* @param img
* @param energie
* @param dureeVie
* @param ty
*/
public FeeSombre(String nom, String img, int energie, int dureeVie, String ty){
super(nom, img, energie, dureeVie);
this.type = ty;
}
public String getType(){
return this.type;
}
/**
* Methode saluer
* @param unPerso
* @return
*/
@Override
public String saluer(Personnage unPerso){
String titre = this.getNom() + " salue " + unPerso.getNom();
String message = "Bonjour " + unPerso.getNom() + " Comment allez-vous ajourd'hui";
//JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE);
Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg()));
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
return message;
}
/**
* Methode rencontrer faisant appelle à un mini jeu nommé jeu baton
* @param unPerso
* @return
*/
@Override
public String rencontrer(Personnage unPerso){
String titre = this.getNom() + " rencontre " + unPerso.getNom();
String message = "Bonjour " + unPerso.getNom() + " !";
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE);
//Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg()));
//JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
JeuBaton baton = new JeuBaton();
boolean gagner = baton.deroulerJeu();
if(gagner){
unPerso.varierDureeVie(2);
this.varierEnergie(-1);
}
else{
unPerso.varierEnergie(-2);
}
return message;
}
/**
* Methode to string addapter à une fée sombre
* @return les caractéristique d'une Fée Sombre
*/
@Override
public String toString(){
return super.toString()+this.type;
}
/**
* Détermine si l'objet spécifié est égal à l'objet actuel.
* @param obj
* @return boolean signifiant si oui ou non les objets sont égaux
*/
@Override
public boolean equals(Object obj){
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
return super.equals(obj);
}
}

View File

@ -50,10 +50,13 @@ public class Jeu {
mesPersonnages.add(new Guerrier("Barbare", "", 6, 4, "Hache"));
mesPersonnages.add(new Guerrier("Garren","Guerrier08.jpg" , 2, 8, "Gourdin"));
mesPersonnages.add(new Guerrier("Hellen","Guerrier08.jpg" , 8, 6, "Gourdin"));
mesPersonnages.add(new Personnage("Gaelle", "Barbare04.jpg", 5, 3));
//mesPersonnages.add(new Personnage("Gaelle", "Barbare04.jpg", 5, 3));
//Plus possible car personnage est devenue abstract
mesPersonnages.add(new Voleur("Raptout", "", 2, 4, "Marteau"));
mesPersonnages.add(new Sorcier("Panoramix", "", 10, 5, "Baguette de laurier"));
mesPersonnages.add(new Sorcier("Jinx","Barbare04.jpg",0,0, "Bâton"));
mesPersonnages.add(new FeeSombre("Yokai","Barbare04.jpg",4,6, "Terre"));
mesPersonnages.add(new FeeSombre("Shard","Barbare04.jpg",7,5, "Vent"));
}
/**

View File

@ -0,0 +1,69 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package metier;
import java.util.Scanner;
/**
*
* @author emile.lalorcey
*/
public class JeuBaton {
private int nbAlea = (int)(Math.random()*100);
private int nbCoup = 6;
/**
* Constructeur de la class JeuBaton
*/
public JeuBaton(){
}
public int getNbAlea(){
return this.nbAlea;
}
public int getNbCoup(){
return this.nbCoup;
}
public boolean tourPasser(){
boolean possible = true;
if(this.getNbCoup()>0){
this.nbCoup -= 1;
}
else{
possible = false;
}
return possible;
}
public boolean deroulerJeu(){
boolean gagner = false;
Scanner LectureClavier = new Scanner(System.in);
int valeur ;
System.out.println("Vous allez devoir deviner un nombre aléatoire \n"
+ "entre 0 et 100 en 6 tentatives maximum!");
do{
System.out.println("Il vous reste " + this.getNbCoup() + " tentatives.\n"
+ "Entrez le prochain nombre à tester : ");
valeur = LectureClavier.nextInt();
if(valeur == this.getNbAlea()){
gagner = true;
}
else{
if(valeur > this.getNbAlea()){
System.out.println("Nombre trop grand");
}
else{
System.out.println("Nombre trop petit");
}
this.tourPasser();
}
}while(!gagner && (this.getNbCoup()>0));
return gagner;
}
}

View File

@ -8,7 +8,7 @@ import javax.swing.JOptionPane;
* @author Dominique_2
* @version 20170215
*/
public class Personnage {
public abstract class Personnage {
// Variables membres
private String nom;
private String img;
@ -28,9 +28,7 @@ public class Personnage {
this.dureeVie = dureeVie;
}
public Personnage() {
// throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody
}
/**
* Permet d'obtenir les valeurs des attributs de l'objet courant
* @return liste des attributs avec leurs valeurs
@ -156,23 +154,9 @@ public class Personnage {
this.nom = nom;
}
public String rencontrer(Personnage unPerso) {
String titre = this.getNom() + " rencontre " + unPerso.getNom();
String message = "Bonjour " + unPerso.getNom() + " !";
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE);
//Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg()));
//JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
return message;
}
public abstract String rencontrer(Personnage unPerso);
public String saluer(Personnage unPerso){
String titre = this.getNom() + " salue " + unPerso.getNom();
String message = "Bonjour " + unPerso.getNom() + " Comment allez-vous ajourd'hui";
//JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE);
Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg()));
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
return message;
}
public abstract String saluer(Personnage unPerso);
/**
* Cette fonction permet de faire varier l'energie de l'objet émetteur

View File

@ -1,6 +1,7 @@
package metier;
import java.util.Objects;
import java.util.Scanner;
import javax.swing.Icon;
import javax.swing.JOptionPane;
@ -10,7 +11,21 @@ import javax.swing.JOptionPane;
*/
public class Sorcier extends Personnage {
private String baguette;
private String baguette;
private String enigme;
Enigme[] enigmes1 = {
new Enigme("Qu?est ce qui est plus grand que la Tour Eiffel, mais infiniment moins lourd ?","ombre"),
new Enigme("Girafe = 3, Éléphant = 3, Hippopotame = 5, Lion = ? ?","2"),
new Enigme("Qu'est-ce qui commence la nuit et termine le matin ?","n"),
new Enigme("Qu'est-ce qui fait le tour de la maison sans bouger ?","mur")
};
Enigme[] enigmes2 = {
new Enigme("Considérez la suite de chiffre suivante : 0 1 1 2 3 5 8 Quel chiffre suit le 8 ?","13"),
new Enigme("Prenez une pizza et placez-la devant vous. En combien de morceaux maximum pouvez-vous la couper en effectuant seulement six coups de couteau ?","16"),
new Enigme("C'est le jour de la paie. La poule reçoit 7 euros. L'abeille reçoit 21 euros. L'araignée reçoit 28 euros. Combien reçoit le chien ?","14"),
new Enigme("Un escargot est au fond d'un puits de 10 mètres. Chaque matin il monte de 3 mètres et chaque nuit il descend de 2 mètres. Combien de jours lui faudra-t-il pour sortir de ce puits ?","7")
};
public Sorcier(String nom, String img, int energie, int dureeVie, String baguette) {
super(nom, img, energie, dureeVie);
@ -78,4 +93,24 @@ public class Sorcier extends Personnage {
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
return message;
}
@Override
public String rencontrer(Personnage unPerso){
Scanner LectureClavier =new Scanner(System.in);
String titre = this.getNom() + " rencontre " + unPerso.getNom();
String message = "Je vais te détruire";
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE);
//Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg()));
//JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
Enigme enigm = enigmes1[(int)(Math.random() * 3)];
System.out.println(enigm.Question());
String reponse = LectureClavier.nextLine();
if (reponse.equals(enigm.Reponse())){
unPerso.varierDureeVie(1);
}
else{
unPerso.varierDureeVie(-2);
}
return message;
}
}

View File

@ -108,5 +108,14 @@ public class Voleur extends Personnage{
}
public String saluer(Personnage unPerso){
String titre = this.getNom() + " salue " + unPerso.getNom();
String message = "Bonjour " + unPerso.getNom() + " Comment allez-vous ajourd'hui";
//JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE);
Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg()));
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
return message;
}
}