Compare commits

...

6 Commits

@ -1,20 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<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>
<attribute name="module" value="true"/>
</attributes>
</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>
<attribute name="module" value="true"/>
</attributes>
</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>
<attribute name="module" value="true"/>
</attributes>
</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"/>
</classpath>

@ -1,12 +1,12 @@
eclipse.preferences.version=1
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.compliance=11
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
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;
}
}

@ -4,12 +4,30 @@
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;
@ -21,39 +39,96 @@ import org.eclipse.swt.SWT;
* @author nicolas
*
*/
public class jeu extends JFrame {
public class jeu extends JFrame implements ActionListener {
JButton continuer =new JButton("Continuer");
JButton nouvelle = new JButton("Nouvelle Partie");
public JPanel panel;
public jeu() {
public Menu menu;
public jeu() throws IOException {
super();
build();
this.menu=new Menu();
}
public void build() {
public void build() throws IOException{
setTitle("Jeu");
setSize(800,600);
setSize(593,283);
setLocationRelativeTo(null);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel center = new JPanel();
Dimension taille = new Dimension(200,200);
center.setPreferredSize(taille);
center.add(new JButton("Jouer"));
this.setLayout(new BorderLayout());
this.getContentPane().add(buildContentPane(), BorderLayout.NORTH);
this.getContentPane().add(center, BorderLayout.CENTER);
}
public JPanel buildContentPane() {
JPanel panel =new JPanel();
Dimension preferredSize = new Dimension(200,200);
panel.setLayout(new FlowLayout());
JLabel label = new JLabel("Jeu Dragon Donjon");
panel.add(label);
return panel;
//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;
}
}

@ -4,9 +4,13 @@
package gui;
import java.awt.Dialog;
import java.io.IOException;
import javax.swing.SwingUtilities;
import modeles.Labyrinthe;
import modeles.Menu;
/**
* @author nicolas
*
@ -16,12 +20,29 @@ 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 = new jeu();
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
}
});

@ -9,7 +9,7 @@ public class Labyrinthe {
protected List<Personnage> listePersonnage=new ArrayList<Personnage>();
protected List<Arme> listeArme= new ArrayList<Arme>();
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>();
public Labyrinthe() {
@ -18,6 +18,7 @@ public class Labyrinthe {
return Labyrinthe1();
break;
}*/
labyrinthe1();
}
public void labyrinthe1() {

@ -19,17 +19,18 @@ public class Marche extends Salle {
public String creerObjetsAVendre(Labyrinthe lab) {
String listeSarme="";
String listeSarmure="";
String listeobjet="";
String listeobjet="<html>";
int i = 0;
int j =0;
for (Arme arme : lab.listeArme) listeSarme +=i++ +") "+ arme.getNom() + " au prix de : " + arme.getPrix()+"\n";
for (Armure armure : lab.listeArmure) listeSarmure +=j++ +") "+ armure.getNom()+ " au prix de : " + armure.getPrix()+"\n";
for (Arme arme : lab.listeArme) listeSarme += "<br>" + i++ +") "+ arme.getNom() + " au prix de : " + arme.getPrix()+"</br>";
listeobjet = "Armes :\n" + listeSarme + "\nArmures :\n" + listeSarmure;
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;
}

@ -1,13 +1,22 @@
package modeles;
import gui.*;
import java.io.IOException;
import java.util.Random;
import java.awt.*;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Menu {
private JeuSalle js= new JeuSalle();
/**
* @return the js
*/
public String menuCombat(Monstre mons, Personnage perso, Labyrinthe lab) throws IOException {
int degat;
int reponse = 0;
System.out.println("Un monstre du nom de "+mons.getNom()+" se présente devant vous et il est trés en colè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){
System.out.println("\t - 1 attaquer\n\t - 2 Potion \n\t- 3 Fuir");
try{
@ -56,7 +65,8 @@ public class Menu {
}
public Labyrinthe menuStartGame() {
System.out.println("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");
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()) {
case 1:
return new Labyrinthe();
@ -69,21 +79,23 @@ public class Menu {
}
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 ? ");
js.cacher(panel);
int i = 0;
for (Personnage per : lab.listePersonnage) {
System.out.println(i++ + ") "+per.getNom());
js.ecrire(i++ + ") "+per.getNom());
}
Personnage pers;
try{
pers =lab.listePersonnage.get(Clavier.entrerClavierInt());
pers =lab.listePersonnage.get(js.toucheint());
}
catch(Exception e) {
System.out.println("Le personnage dont vous me parlez n'existe pas.");
js.ecrire("Le personnage dont vous me parlez n'existe pas.");
return null;
}
System.out.println("Enchante de vous rencontrer "+pers.getNom()+".");
js.ecrire("Enchante de vous rencontrer "+pers.getNom()+".");
return pers;
}
@ -119,14 +131,14 @@ public class Menu {
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éro pour l'arme ?");
System.out.println("Quel num<EFBFBD>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éro pour l'armure ?");
System.out.println("Quel num<EFBFBD>ro pour l'armure ?");
int valeur = Clavier.entrerClavierInt();
if (perso.getBourse().Achat(lab.listeArmure.get(valeur))>=0) perso.equiper(lab.listeArmure.get(valeur));
}
@ -138,4 +150,31 @@ public class Menu {
}
}
}
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;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Loading…
Cancel
Save