Compare commits

..

12 Commits

@ -1,20 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry exported="true" kind="lib" path="/home/nicolas/Bureau/jdbc-support-1.0.23-sources.jar"> <classpathentry kind="lib" path="/home/nicolas/eclipse-workspace/Projet_Java/JAVA/PROJET-PMT_STRI1A/src/jdbc.jar">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry exported="true" kind="lib" path="/home/nicolas/Téléchargements/gson-2.8.5.jar"> <classpathentry kind="lib" path="/home/nicolas/eclipse-workspace/Projet_Java/JAVA/PROJET-PMT_STRI1A/src/gson-2.6.2.jar">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="lib" path="/home/nicolas/eclipse-workspace/Projet_Java/JAVA/PROJET-PMT_STRI1A/src/javatuples-1.2.jar"/>
<classpathentry kind="lib" path="/home/nicolas/Téléchargements/swt-linux-gtk-x64.jar/swt-linux-gtk-x64.jar"/>
<classpathentry kind="lib" path="swing2swt.jar"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

@ -1,12 +1,12 @@
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=11 org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.release=enabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=11 org.eclipse.jdt.core.compiler.source=1.8

Binary file not shown.

After

Width:  |  Height:  |  Size: 939 KiB

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" path=""/>
<classpathentry kind="output" path=""/>
</classpath>

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>src</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

@ -0,0 +1,33 @@
/**
*
*/
package gui;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.GridBagLayout;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
/**
* @author nicolas
*
*/
public class Background extends JPanel{
private ImageIcon image;
public Background(String path) {
super();
//this.setLayout(new FlowLayout());
this.image=new ImageIcon(path);
}
public void setBackground(ImageIcon back) {
this.image=back;
}
public void paintComponent(Graphics gr) {
super.paintComponent(gr);
gr.drawImage(image.getImage(),0,0,this);
}
}

@ -0,0 +1,30 @@
/**
*
*/
package gui;
import java.awt.Color;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.SwingConstants;
/**
* @author nicolas
*
*/
public class Boutton extends JButton {
public Boutton(String txt) {
super(txt);
//this.setLayout(new FlowLayout());
setForeground(Color.WHITE);
setOpaque(true);
setContentAreaFilled(false);
setBorderPainted(true);
setFocusPainted(false);
setHorizontalAlignment(SwingConstants.CENTER);
setVerticalAlignment(SwingConstants.CENTER);
}
}

@ -0,0 +1,114 @@
/**
*
*/
package gui;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import modeles.Labyrinthe;
import modeles.Menu;
import modeles.Salle;
/**
* @author nicolas
*
*/
public class JeuSalle extends JFrame implements KeyListener,ActionListener{
public int nb;
public Menu menu;
public Labyrinthe lab = null;
public JeuSalle() {
setTitle("Labyrinthe");
setSize(1200,600);
setLocationRelativeTo(null);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
/*Méthode permettant d'écrire du texte dans la fenetre de jeu*/
public JPanel ecrire(String str) {
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JLabel label = new JLabel(str);
panel.add(label);
this.setFocusable(true);
this.setContentPane(panel);
this.addKeyListener(this);
this.requestFocus();
this.setVisible(true);
return panel;
}
/* (non-Javadoc)
* @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)
*/
@Override
public void keyPressed(KeyEvent e) {
}
/* (non-Javadoc)
* @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent)
*/
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent)
Entrer du clavier
*/
@Override
public void keyTyped(KeyEvent e) {
nb = e.getKeyChar();
System.out.println(nb);
}
/* (non-Javadoc)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
/*Méthode qui récupère les entrés de type int du clavier*/
public int toucheint() {
System.out.println("sortie"+nb);
return nb;
}
/*Méthode que permet de cacher un texte affiché dans la fenetre*/
public void cacher(JPanel panel) {
panel.setVisible(false);
}
/**
* @return the lab
*/
public Labyrinthe getLab() {
return lab;
}
/**
* @param lab the lab to set
*/
public void setLab(Labyrinthe lab) {
this.lab = lab;
}
}

@ -0,0 +1,135 @@
/**
*
*/
package gui;
import java.awt.BorderLayout;
import java.awt.Color;
import gui.Boutton;
import modeles.Labyrinthe;
import modeles.Marche;
import modeles.Menu;
import modeles.Objet;
import modeles.Personnage;
import gui.Background;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GraphicsConfiguration;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.attribute.AclEntry.Builder;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import org.eclipse.swt.SWT;
/**
* @author nicolas
*
*/
public class jeu extends JFrame implements ActionListener {
JButton continuer =new JButton("Continuer");
JButton nouvelle = new JButton("Nouvelle Partie");
public JPanel panel;
public Menu menu;
public jeu() throws IOException {
super();
build();
this.menu=new Menu();
}
public void build() throws IOException{
setTitle("Jeu");
setSize(593,283);
setLocationRelativeTo(null);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Création du JLabel pour l'image
JLabel container = new JLabel(new ImageIcon(this.image()));
//Création du layout des boutons
container.setLayout(new GridBagLayout());
nouvelle.addActionListener(this);
continuer.addActionListener(this);
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
container.add(nouvelle);
c.gridx = 1;
c.gridy=0;
container.add(continuer);
this.setContentPane(container);
this.setVisible(true);
}
public BufferedImage image() throws IOException {
BufferedImage image = ImageIO.read(new File("/home/nicolas/eclipse-workspace/Projet_Java/JAVA/PROJET-PMT_STRI1A/test.jpg"));
return image;
}
/* (non-Javadoc)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
Récupération des évènements des boutons Nouvelle Partie et Contnuer
*/
@Override
public void actionPerformed(ActionEvent arg0) {
Object source=arg0.getSource();
choix(source);
}
/*Méthode de traitement des actions sur les boutons*/
public void choix(Object source) {
if(source==nouvelle) {
System.out.println("1");
//menu =new Menu();
//Création du Labyrinthe
Labyrinthe lab =new Labyrinthe();
//
this.menu.getJs().setLab(lab);
//Appel de la méthode menuSelection()
this.menu.menuSelection(this.menu.getJs().getLab());
}
if(source==continuer) {
System.out.println("2");
//menu = new Menu();
//recupMenu(menu);
//lab = menu.continuer();
//return lab;
}
}
public Menu getMenu() {
return menu;
}
}

@ -0,0 +1,52 @@
/**
*
*/
package gui;
import java.awt.Dialog;
import java.io.IOException;
import javax.swing.SwingUtilities;
import modeles.Labyrinthe;
import modeles.Menu;
/**
* @author nicolas
*
*/
public class main {
/**
* @param args
*/
public jeu fenetre;
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable(){
public void run(){
//On crée une nouvelle instance de notre JDialog
jeu fenetre = null;
try {
fenetre = new jeu();
//Menu menu =fenetre.glob;
/*if(fenetre.menu.getJs().getLab()!=null) {
System.out.println("passer");
fenetre.menu.menuSelection(fenetre.menu.getJs().getLab());
//Menu menu =fenetre.creersalle();
}*/
//fenetre.salle.ecrire(fenetre.menu.textePerso(fenetre.lab));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
fenetre.setVisible(true);//On la rend visible
}
});
}
}

@ -5,9 +5,17 @@ public class Bourse extends Objet {
public Bourse(int somme) { public Bourse(int somme) {
super("bourse",somme,99999999); super("bourse",somme,99999999);
this.valeur=valeur;
} }
/**
* @param valeur the valeur to set
*/
public void setValeur(int valeur) {
this.valeur = valeur;
}
public int getValeur() { public int getValeur() {
return this.valeur; return this.valeur;
} }
@ -16,12 +24,12 @@ public class Bourse extends Objet {
return "Bourse"; return "Bourse";
} }
public int Achat(int cout) { //commande pour vérifier si la personne peut acheter un objet et pour faire le décompte de la thunasse public int Achat(Objet o) { //commande pour v<>rifier si la personne peut acheter un objet et pour faire le d<>compte de la thunasse
if (cout <= this.valeur) return (this.valeur=this.valeur-cout); if (o.getPrix() <= this.valeur) return (this.valeur=this.valeur-o.getPrix());
else { else {
int manque = cout-this.valeur; int manque =o.getPrix()-this.valeur;
System.out.println("L'achat est impossible, il vous manque : "+manque); System.out.println("L'achat est impossible, il vous manque : "+manque);
return manque; return -1;
} }
} }

@ -17,9 +17,7 @@ public class Generateur {
public Labyrinthe labyrinthe() { public Labyrinthe labyrinthe() {
BufferedReader bfr= null; BufferedReader bfr= null;
try { try {
bfr = new BufferedReader(new FileReader("/home/nicolas/eclipse-workspace/Projet_Java/JAVA/PROJET-PMT_STRI1A/src/json/lab.json" + bfr = new BufferedReader(new FileReader("C:\\Users\\Nicolas\\eclipse-workspace\\Projet_Java\\JAVA\\PROJET-PMT_STRI1A\\src\\json\\lab.json"));
"" +
""));
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
@ -36,8 +34,7 @@ public class Generateur {
String str = gson.toJson(lab); String str = gson.toJson(lab);
System.out.println(str); System.out.println(str);
try { try {
File file = new File("/home/nicolas/eclipse-workspace/Projet_Java/JAVA/PROJET-PMT_STRI1A/src/json\n" + File file = new File("C:\\Users\\Nicolas\\eclipse-workspace\\Projet_Java\\JAVA\\PROJET-PMT_STRI1A\\src\\json\\lab.json");
"" + "lab.json");
file.createNewFile(); file.createNewFile();
FileWriter writer = new FileWriter(file); FileWriter writer = new FileWriter(file);

@ -9,18 +9,19 @@ public class Labyrinthe {
protected List<Personnage> listePersonnage=new ArrayList<Personnage>(); protected List<Personnage> listePersonnage=new ArrayList<Personnage>();
protected List<Arme> listeArme= new ArrayList<Arme>(); protected List<Arme> listeArme= new ArrayList<Arme>();
protected List<Armure> listeArmure=new ArrayList<Armure>(); protected List<Armure> listeArmure=new ArrayList<Armure>();
protected List<Porte> listePorte=new ArrayList<Porte>(); public List<Porte> listePorte=new ArrayList<Porte>();
protected List<Monstre> listeMonstre=new ArrayList<Monstre>(); protected List<Monstre> listeMonstre=new ArrayList<Monstre>();
public Labyrinthe Labyrinthe() { public Labyrinthe() {
/*switch (nInstance) /*switch (nInstance)
case 1 : case 1 :
return Labyrinthe1(); return Labyrinthe1();
break; break;
}*/ }*/
return labyrinthe1();
labyrinthe1();
} }
public Labyrinthe labyrinthe1() { public void labyrinthe1() {
Arme arme=new Arme("Epee en bois",5,10,2); Arme arme=new Arme("Epee en bois",5,10,2);
listeArme.add(arme); listeArme.add(arme);
Arme arme1=new Arme("Epee en acier",15,10,4); Arme arme1=new Arme("Epee en acier",15,10,4);
@ -43,7 +44,7 @@ public class Labyrinthe {
Personnage perso=new Personnage("Aramis",10,1); Personnage perso=new Personnage("Aramis",10,1);
listePersonnage.add(perso); listePersonnage.add(perso);
Personnage perso2=new Personnage("Boromis",8,2); Personnage perso2=new Personnage("Boromis",100,50);
listePersonnage.add(perso2); listePersonnage.add(perso2);
Monstre mons = new Monstre("pantin en bois",5, 1); Monstre mons = new Monstre("pantin en bois",5, 1);
@ -107,8 +108,7 @@ public class Labyrinthe {
Porte po6= new Porte(true,salle5,salle3); Porte po6= new Porte(true,salle5,salle3);
listePorte.add(po6); listePorte.add(po6);
return this; }
}
} }

@ -11,12 +11,27 @@ import java.util.List;
* *
*/ */
public class Marche extends Salle { public class Marche extends Salle {
private List<Integer> listeObjet=new ArrayList<Integer>();
public Marche(List<Integer> listeEnnemie) { public Marche(List<Integer> listeEnnemie) {
super(0,0, false, listeEnnemie); super(0,0, false, listeEnnemie);
// TODO Auto-generated constructor stub // TODO Auto-generated constructor stub
} }
public String creerObjetsAVendre(Labyrinthe lab) {
String listeSarme="";
String listeSarmure="";
String listeobjet="<html>";
int i = 0;
int j =0;
for (Arme arme : lab.listeArme) listeSarme += "<br>" + i++ +") "+ arme.getNom() + " au prix de : " + arme.getPrix()+"</br>";
for (Armure armure : lab.listeArmure) listeSarmure += "<br>"+ j++ +") "+ armure.getNom()+ " au prix de : " + armure.getPrix()+"</br>";
listeobjet ="<html>" + "Armes :\n" + listeSarme +"<br></br>"+ "\nArmures :\n" + listeSarmure;
listeobjet=listeobjet+"</html>";
return listeobjet;
}
//methode pour enregistrer la liste objet (il faudra sans doute changer le type de listeObjet) settingListeObjet(Labyrinthe lab)
} }

@ -1,66 +1,77 @@
package modeles; package modeles;
import gui.*;
import java.io.IOException;
import java.util.Random; import java.util.Random;
import java.awt.*;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Menu { public class Menu {
public String menuCombat(Monstre mons, Personnage perso, Labyrinthe lab) { private JeuSalle js= new JeuSalle();
/**
* @return the js
*/
public String menuCombat(Monstre mons, Personnage perso, Labyrinthe lab) throws IOException {
int degat; int degat;
int reponse = 0; int reponse = 0;
System.out.println("Un monstre du nom de "+mons.getNom()+" se pr<70>sente devant vous et il est tr<74>s en col<6F>re :");
js.ecrire("Un monstre du nom de "+mons.getNom()+" se présente devant vous et il est trés en colère :");
while (true){ while (true){
System.out.println("\t - 1<> attaquer\n\t - 2<> Potion \n\t- 3<> Fuir"); System.out.println("\t - 1 attaquer\n\t - 2 Potion \n\t- 3 Fuir");
reponse=Clavier.entrerClavierInt(); try{
reponse=Clavier.entrerClavierInt();
}catch (Exception e) {
System.in.read();
}
switch (reponse) { switch (reponse) {
case 1: case 1:
degat = perso.attaquer(mons); degat = perso.attaquer(mons);
System.out.println("Vous avez inflig<69> "+degat+" <20> votre adversaire."); System.out.println("Vous avez infligé "+degat+" à votre adversaire.");
if (!mons.isVivant()) { if (!mons.isVivant()) {
perso.getSalle().cle(lab); perso.salle.cle(lab);
System.out.println(perso.obtenirBourse()); System.out.println(perso.remplirBourse());
return "Votre ennemie tr<EFBFBD>passe et vous obtenez la cl<63> des portes de la salle."; return "Votre ennemie trépasse et vous obtenez la clé des portes de la salle.";
} else { } else {
System.out.println("Au tour de votre adversaire. Il attaque pr<EFBFBD>parez vous ! "); System.out.println("Au tour de votre adversaire. Il attaque préparez vous ! ");
System.out.println("il vous inflige "+ mons.attaquer(perso)+"."); System.out.println("il vous inflige "+ mons.attaquer(perso)+".");
if (!perso.isVivant()) { if (!perso.isVivant()) {
return "C'est ainsi que vous tr<EFBFBD>passez sous les coups des t<>n<EFBFBD>bres. Reposez vous h<>ros... Vous avez l'<27>ternit<69>."; return "C'est ainsi que vous trépassez sous les coups des ténèbres. Reposez vous héros... Vous avez l'<27>ternit<69>.";
} }
else System.out.println("votre ennemie n'est pas encore <EFBFBD> bout achever le !"); else System.out.println("votre ennemie n'est pas encore à bout achever le !");
} }
break; break;
case 2 : case 2 :
if (!perso.getPotion().isEmpty()) { if (!perso.getPotion().isEmpty()) {
perso.utiliser(perso.getPotion().remove(0)); perso.utiliser(perso.getPotion().remove(0));
System.out.println("Vous avez utilis<EFBFBD> une potion. Votre vie est maintenant au maximum."); System.out.println("Vous avez utilisé une potion. Votre vie est maintenant au maximum.");
} else { } else {
System.out.println("Il ne vous reste plus de potion. D<EFBFBD>sol<EFBFBD>."); System.out.println("Il ne vous reste plus de potion. Désolé.");
} }
break; break;
case 3 : case 3 :
System.out.println("Vous tentez de fuir."); System.out.println("Vous tentez de fuir.");
Random rd = new Random(); Random rd = new Random();
if (rd.nextInt(100)<50) { if (rd.nextInt(100)<50) {
return "Vous avez fuit."; return "Vous avez fuit.";
} else { } else {
System.out.println("Ce fut un <EFBFBD>chec !"); System.out.println("Ce fut un échec !");
} }
} }
} }
} }
public Labyrinthe menuStartGame() { public Labyrinthe menuStartGame() {
System.out.println("L'Aventure vous appelle ! Le choix s'offre <20> vous, une histoire peut s'<27>crire une autre peut continuer :\n1) Nouvelle Partie\n2) Continuer votre progression"); js.ecrire("L'Aventure vous appelle ! Le choix s'offre à vous, une histoire peut s'écrire une autre peut continuer :\n1) Nouvelle Partie\n2) Continuer votre progression");
switch(Clavier.entrerClavierInt()) { switch(Clavier.entrerClavierInt()) {
case 1: case 1:
System.out.println("Labyrinthe cree !");
return new Labyrinthe(); return new Labyrinthe();
case 2: case 2:
Generateur ge = new Generateur(); Generateur ge = new Generateur();
System.out.println("Labyrinthe chargée !");
return ge.labyrinthe(); return ge.labyrinthe();
default : default :
return null; return null;
@ -68,21 +79,102 @@ public class Menu {
} }
public Personnage menuSelection(Labyrinthe lab) { public Personnage menuSelection(Labyrinthe lab) {
System.out.println("Bonjour Etranger, je suis le narrateur de votre histoire. Comment dois-je vous appeler ? "); JPanel panel =js.ecrire("Bonjour Etranger, je suis le narrateur de votre histoire. Comment dois-je vous appeler ? ");
int i = 0; js.cacher(panel);
for (Personnage per : lab.listePersonnage) { int i = 0;
System.out.println(i++ + ") "+per.getNom()); for (Personnage per : lab.listePersonnage) {
} js.ecrire(i++ + ") "+per.getNom());
}
Personnage pers;
try{ Personnage pers;
pers =lab.listePersonnage.get(Clavier.entrerClavierInt()); try{
} pers =lab.listePersonnage.get(js.toucheint());
catch(Exception e) {
System.out.println("Le personnage dont vous me parlez n'existe pas."); }
return null; catch(Exception e) {
} js.ecrire("Le personnage dont vous me parlez n'existe pas.");
System.out.println("Enchante de vous rencontrer "+pers.getNom()+"."); return null;
return pers; }
} js.ecrire("Enchante de vous rencontrer "+pers.getNom()+".");
return pers;
}
public void deplacement(Personnage perso, Salle salle) {
System.out.println("Choisissez une direction:\n Z) Haut\n S) Bas\n D) Droite\n Q) Gauche");
switch(Clavier.entrerClavierString()) {
case "Z":
System.out.println("Vous allez vers le haut");
perso.seDeplacer(salle);
break;
case "S":
System.out.println("Vous allez vers le bas");
perso.seDeplacer(salle);
break;
case "D":
System.out.println("Vous allez vers le droite");
perso.seDeplacer(salle);
break;
case "Q":
System.out.println("Vous allez vers le gauche");
perso.seDeplacer(salle);
break;
}
}
public void Menu_Marche(Marche marche,Personnage perso, Labyrinthe lab) {
System.out.println("Voulez-vous acheter un objet:(votre bourse :"+perso.getValeurBourse() +")\n1) Oui\n2) Non");
switch(Clavier.entrerClavierString()) {
case "a":
System.out.println("Choisissez un objet:");
switch(Clavier.entrerClavierString()) {
case "1":
System.out.println(marche.creerObjetsAVendre(lab)+"\nVoulez-vous acheter une arme ? (oui/non)");
String selection=Clavier.entrerClavierString();
if(selection.compareTo("oui")>0) {
System.out.println("Quel num<75>ro pour l'arme ?");
int valeur = Clavier.entrerClavierInt();
if (perso.getBourse().Achat(lab.listeArme.get(valeur))>=0) perso.equiper(lab.listeArme.get(valeur));
} else {
System.out.println("Pourquoi Pas une armure alors ? (oui/non)");
selection=Clavier.entrerClavierString();
if(selection.compareTo("oui")>0) {
System.out.println("Quel num<75>ro pour l'armure ?");
int valeur = Clavier.entrerClavierInt();
if (perso.getBourse().Achat(lab.listeArmure.get(valeur))>=0) perso.equiper(lab.listeArmure.get(valeur));
}
}
break;
case "2":
System.out.println("Vous sortez du marche.");
return ;
}
}
}
public Labyrinthe nouvellePartie() {
System.out.println("Nouvelle partie!");
return new Labyrinthe();
}
public Labyrinthe continuer() {
System.out.println("Continuer");
Generateur ge = new Generateur();
return ge.labyrinthe();
}
public String textePerso(Labyrinthe lab) {
String str ="<html>";
str = str + "<br>Bonjour Etranger, je suis le narrateur de votre histoire. Comment dois-je vous appeler ? </br>";
int i = 0;
for (Personnage per : lab.listePersonnage) {
str =str + "<br>" + (i++ + ") "+per.getNom())+"</br>";
}
str=str+"</html>";
return str;
}
public JeuSalle getJs() {
return js;
}
} }

@ -20,8 +20,10 @@ public class Monstre extends EtreVivant {
public int attaquer(Personnage def) { public int attaquer(Personnage def) {
int pAttaqueLoc; int pAttaqueLoc;
pAttaqueLoc=this.getpAttaque()-(def.getArmure().getpArmure()); if (def.getArmure()!=null) pAttaqueLoc=this.getpAttaque()-(def.getArmure().getpArmure());
def.pVie=pAttaqueLoc; else pAttaqueLoc=this.getpAttaque();
def.pVie-=pAttaqueLoc;
if (def.pVie<=0)def.setVivant(false);
return pAttaqueLoc; return pAttaqueLoc;
} }

@ -10,27 +10,13 @@ public class Personnage extends EtreVivant {
private Arme arme; private Arme arme;
private Armure armure; private Armure armure;
private Bourse bourse; private Bourse bourse;
private Salle salle;
private List<Potion> listepotion= new ArrayList<Potion>(); private List<Potion> listepotion= new ArrayList<Potion>();
public Personnage(String nom, int pVieMax,int pAttaque) { public Personnage(String nom, int pVieMax,int pAttaque) {
super(nom, pVieMax, pAttaque); super(nom, pVieMax, pAttaque);
this.bourse=new Bourse(0);
} }
/**
* @return the salle
*/
public Salle getSalle() {
return salle;
}
/**
* @param salle the salle to set
*/
public void setSalle(Salle salle) {
this.salle = salle;
}
public void equiper(Arme arme) { public void equiper(Arme arme) {
arme.setProprietaire(this); arme.setProprietaire(this);
this.arme=arme; this.arme=arme;
@ -44,7 +30,10 @@ public void equiper(Armure armure) {
soin(); soin();
} }
public void seDeplacer(Salle salle) {
this.salle=salle;
}
public void allerMarche(Salle marche){ public void allerMarche(Salle marche){
this.salle=marche; this.salle=marche;
} }
@ -65,10 +54,12 @@ public void equiper(Armure armure) {
public int attaquer(Monstre monstre) { public int attaquer(Monstre monstre) {
if(arme!=null) { if(arme!=null) {
monstre.pVie=monstre.pVie-(arme.getpArme()+getpAttaque()); monstre.pVie=monstre.pVie-(arme.getpArme()+getpAttaque());
if (monstre.pVie<=0)monstre.setVivant(false);
return arme.getpArme()+getpAttaque(); return arme.getpArme()+getpAttaque();
} }
else { else {
monstre.pVie=monstre.pVie=getpAttaque(); monstre.pVie=monstre.pVie-getpAttaque();
if (monstre.pVie<=0)monstre.setVivant(false);
return getpAttaque(); return getpAttaque();
} }
} }
@ -87,10 +78,13 @@ public void equiper(Armure armure) {
return arme; return arme;
} }
public String obtenirBourse() { public String remplirBourse() {
Random rd = new Random(); Random rd = new Random();
this.bourse.fusionBourse(new Bourse(rd.nextInt(20))); int piece = rd.nextInt(20);
String str="Vous avez gagnez une bourse. Vous comptez vos pi<70>ces... Genial !! Vous avez d<>sormais ".concat(String.valueOf(this.getValeurBourse()).concat(" pi<70>ces d'argent !")); //this.bourse.fusionBourse(new Bourse(rd.nextInt(20)));
this.bourse.setValeur(this.bourse.getValeur()+piece);
String str="Vous avez gagnez une bourse. Vous comptez vos piéces... Genial !! Vous avez désormais ".concat(String.valueOf(this.getValeurBourse()).concat(" pi<70>ces d'argent !"));
System.out.println("bourse:"+this.bourse.getValeur());
return str; return str;
} }

@ -9,9 +9,6 @@ public class Porte {
private Salle salle1; private Salle salle1;
private Salle salle2; private Salle salle2;
public Porte() {
}
public Porte(boolean ouvert, Salle salle,Salle salle2) { public Porte(boolean ouvert, Salle salle,Salle salle2) {
super(); super();
@ -22,20 +19,18 @@ public class Porte {
this.salle2.getListePorte().add(this.id); this.salle2.getListePorte().add(this.id);
this.id++; this.id++;
} }
/**
* @return the salle1
*/ public Salle getSalle1() {
public Salle getSalle1() {
return salle1; return salle1;
} }
/**
* @return the salle2
*/
public Salle getSalle2() { public Salle getSalle2() {
return salle2; return salle2;
} }
public boolean estOuverte() { public boolean estOuverte() {
return ouvert; return ouvert;
} }

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
//import javafx.util.Pair; //import javafx.util.Pair;
import org.javatuples.*; import org.javatuples.*;
public class Salle { public class Salle {
private Pair<Integer,Integer> coordonnees; private Pair<Integer,Integer> coordonnees;
private boolean sortie; private boolean sortie;
@ -16,16 +17,14 @@ public class Salle {
} }
public List<Integer> getListeEnnemie() {
return listeEnnemie;
}
public Salle(int positionX, int positionY, boolean sortie, List<Integer> listeEnnemie) { public Salle(int positionX, int positionY, boolean sortie, List<Integer> listeEnnemie) {
this.coordonnees=new Pair<Integer,Integer>(positionX,positionY); this.coordonnees=new Pair<Integer,Integer>(positionX,positionY);
this.sortie = sortie; this.sortie = sortie;
} this.listeEnnemie = listeEnnemie;
/**
* @return the listeEnnemie
*/
public List<Integer> getListeEnnemie() {
return listeEnnemie;
} }
public String getType(){ public String getType(){
@ -41,9 +40,9 @@ public class Salle {
} }
public void cle(Labyrinthe lab) { public void cle(Labyrinthe lab) {
if (listeEnnemie.isEmpty()) { //if (listeEnnemie.isEmpty()=null) {
for (int i : listePorte ) lab.listePorte.get(i).ouverture(); for (int i : listePorte ) lab.listePorte.get(i).ouverture();
} //}
} }
public boolean estVide() { public boolean estVide() {

@ -6,22 +6,26 @@ public class main {
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {
Generateur gene = new Generateur();
Labyrinthe lab = new Labyrinthe();
Menu menu = new Menu(); Menu menu = new Menu();
lab=menu.menuStartGame(); Labyrinthe lab=menu.menuStartGame();
Marche marche= (Marche) lab.listePorte.get(0).getSalle1();
System.out.println(marche.creerObjetsAVendre(lab));
Personnage perso = menu.menuSelection(lab); Personnage perso = menu.menuSelection(lab);
perso.setSalle(lab.listePorte.get(0).getSalle1()); perso.setSalle(lab.listePorte.get(0).getSalle1());
Salle next =lab.listePorte.get(perso.getSalle().getListePorte().get(0)).prochainSaut(perso.getSalle()); Salle next =lab.listePorte.get(perso.getSalle().getListePorte().get(0)).prochainSaut(perso.getSalle());
System.out.println(menu.menuCombat(lab.listeMonstre.get(next.getListeEnnemie().get(0)), perso, lab)); System.out.println(menu.menuCombat(lab.listeMonstre.get(next.getListeEnnemie().get(0)), perso, lab));
perso.setSalle(next); perso.setSalle(next);
menu.deplacement(perso,next);
System.out.println("le personnage à bouger"); System.out.println("le personnage à bouger");
//Clavier.entrerClavierInt(); //Clavier.entrerClavierInt();
//menu.menuCombat(lab.listeMonstre.get(0), lab.listePersonnage.get(0), lab); //menu.menuCombat(lab.listeMonstre.get(0), lab.listePersonnage.get(0), lab);
//menu.menuSelection(lab); //menu.menuSelection(lab);
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Loading…
Cancel
Save