Changement vendredi et debut json

This commit is contained in:
Nicolas 2019-04-20 20:50:55 +02:00
parent a159725229
commit 61fec1a10b
16 changed files with 613 additions and 342 deletions

View File

@ -1,12 +1,26 @@
package modeles;
/**
* @author flavien
*
*/
public class Arme extends Objet {
private int pArme;
}
package modeles;
/**
* @author flavien
*
*/
public class Arme extends Objet {
private int pArme;
public int getpArme() {
return this.pArme;
}
public String getType() {
return "Arme";
}
public Arme(String nm, int valeur, int resistance, int attaque) {
super(nm, valeur, resistance);
this.pArme=attaque;
}
/* public void effectArme ? (poison, incinération, gel, saignement, paralysie,... */
}

View File

@ -1,14 +1,29 @@
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Armure extends Objet {
private int pArmure;
}
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Armure extends Objet {
private int pArmure;
public int getpArmure() {
return this.pArmure;
}
public String getType () {
return "Armure";
}
public Armure(String nm, int valeur, int resistance,int efficacite) {
super(nm, valeur, resistance);
this.pArmure=efficacite;
}
/* public armureEffect(...) */
}

View File

@ -1,13 +1,40 @@
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Bourse extends Objet {
private int valeur;
}
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Bourse extends Objet {
private int valeur;
public Bourse(int somme) {
super("bourse",somme,99999999);
}
public int getValeur() {
return this.valeur;
}
public String getType() {
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
if (cout <= this.valeur) return (this.valeur=this.valeur-cout);
else {
int manque = cout-this.valeur;
System.out.println("L'achat est impossible, il vous manque : "+manque);
return manque;
}
}
public int fusionBourse(Bourse sacPiece) {
this.valeur += sacPiece.valeur;
return this.valeur;
}
}

View File

@ -0,0 +1,40 @@
package modeles;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Clavier {
private static Scanner scanner = new Scanner(System.in);
public static String entrerClavierString() {
String chaine="";
try {
chaine = scanner.next();
} catch (InputMismatchException e) {
System.out.println("La valeur lu au clavier n'est pas une chaine");
}
return chaine;
}
public static int entrerClavierInt() {
int entier=0;
try {
entier = scanner.nextInt();
} catch (InputMismatchException e) {
System.out.println("La valeur lu au clavier n'est pas un entier");
}
return entier;
}
public static boolean entrerClavierBoolean() {
boolean bool=true;
try {
bool = scanner.nextBoolean();
} catch (InputMismatchException e) {
System.out.println("La valeur lu au clavier n'est pas un bool<6F>en");
}
return bool;
}
}

View File

@ -1,121 +1,110 @@
/**
*
*/
package modeles;
/**
* @author Nicolas
*
*/
public class EtreVivant {
private String nom;
protected int pVieMax;
protected int pVie;
private int pAttaque;
protected Salle salle;
private boolean vivant;
/**
* @param nom
* @param pVieMax
* @param pVie
* @param pAttaque
* @param salle
* @param vivant
*/
public EtreVivant(String nom, int pVieMax, int pAttaque, Salle salle) {
super();
this.nom = nom;
this.pVieMax = pVieMax;
this.pVie = pVieMax;
this.pAttaque = pAttaque;
this.salle = salle;
this.vivant = true;
}
/**
* @return the nom
*/
public String getNom() {
return nom;
}
/**
* @param nom the nom to set
*/
public void setNom(String nom) {
this.nom = nom;
}
/**
* @return the pVieMax
*/
public int getpVieMax() {
return pVieMax;
}
/**
* @param pVieMax the pVieMax to set
*/
public void setpVieMax(int pVieMax) {
this.pVieMax = pVieMax;
}
/**
* @return the pVie
*/
public int getpVie() {
return pVie;
}
/**
* @param pVie the pVie to set
*/
public void setpVie(int pVie) {
this.pVie = pVie;
}
/**
* @return the pAttaque
*/
public int getpAttaque() {
return pAttaque;
}
/**
* @param pAttaque the pAttaque to set
*/
public void setpAttaque(int pAttaque) {
this.pAttaque = pAttaque;
}
/**
* @return the salle
*/
public Salle getSalle() {
return salle;
}
/**
* @param salle the salle to set
*/
public void setSalle(Salle salle) {
this.salle = salle;
}
/**
* @return the vivant
*/
public boolean isVivant() {
return vivant;
}
/**
* @param vivant the vivant to set
*/
public void setVivant(boolean vivant) {
this.vivant = vivant;
}
public int getPvMax() {
return this.pVieMax;
}
}
/**
*
*/
package modeles;
/**
* @author Nicolas
*
*/
public class EtreVivant {
private String nom;
protected int pVieMax;
protected int pVie;
private int pAttaque;
protected Salle salle;
private boolean vivant;
/**
* @param nom
* @param pVieMax
* @param pVie
* @param pAttaque
* @param salle
* @param vivant
*/
public EtreVivant(String nom, int pVieMax, int pAttaque, Salle salle) {
super();
this.nom = nom;
this.pVieMax = pVieMax;
this.pVie = pVieMax;
this.pAttaque = pAttaque;
this.salle = salle;
this.vivant = true;
}
/**
* @return the nom
*/
public String getNom() {
return nom;
}
/**
* @param nom the nom to set
*/
/**
* @return the pVieMax
*/
public int getpVieMax() {
return pVieMax;
}
/**
* @param pVieMax the pVieMax to set
*/
public void setpVieMax(int pVieMax) {
this.pVieMax = pVieMax;
}
/**
* @return the pVie
*/
public int getpVie() {
return pVie;
}
/**
* @param pVie the pVie to set
*/
public void setpVie(int pVie) {
this.pVie = pVie;
}
/**
* @return the pAttaque
*/
public int getpAttaque() {
return pAttaque;
}
/**
* @param pAttaque the pAttaque to set
*/
public void setpAttaque(int pAttaque) {
this.pAttaque = pAttaque;
}
/**
* @return the salle
*/
public Salle getSalle() {
return salle;
}
/**
* @param salle the salle to set
*/
public void setSalle(Salle salle) {
this.salle = salle;
}
/**
* @return the vivant
*/
public boolean isVivant() {
return vivant;
}
/**
* @param vivant the vivant to set
*/
public void setVivant(boolean vivant) {
this.vivant = vivant;
}
public int getPvMax() {
return this.pVieMax;
}
}

View File

@ -1,12 +1,23 @@
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Labyrinthe {
}
/**
*
*/
package modeles;
import java.util.*;
/**
* @author flavien
*
*/
public class Labyrinthe {
protected List<Personnage> listePersonnage=new ArrayList<Personnage>();
protected List<Salle>listeSalle= new ArrayList<Salle>();
protected List<Arme> listeArme= new ArrayList<Arme>();
protected List<Armure> listeArmure=new ArrayList<Armure>();
public void generateLabyrinthe() {
}
}

View File

@ -1,12 +1,12 @@
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Marche extends Salle {
}
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Marche extends Salle {
}

View File

@ -1,24 +1,31 @@
/**
*
*/
package modeles;
/**
* @author Nicolas
*
*/
public class Monstre extends EtreVivant {
/**
* @param arme
* @param armure
* @param bourse
*/
public Monstre(String nom, int pAttaque, Salle salle) {
super(nom, 5, pAttaque, salle);
}
}
/**
*
*/
package modeles;
/**
* @author Nicolas
*
*/
public class Monstre extends EtreVivant {
/**
* @param arme
* @param armure
* @param bourse
*/
public Monstre(String nom, int pAttaque, Salle salle) {
super(nom, 5, pAttaque, salle);
}
public int attaquer(Personnage def) {
int pAttaqueLoc;
pAttaqueLoc=this.getpAttaque()-(def.getArmure().getpArmure());
def.pVie=pAttaqueLoc;
return pAttaqueLoc;
}
}

View File

@ -1,15 +1,50 @@
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Objet {
private String nom;
private int prix;
private int usure;
}
package modeles;
/**
* @author flavien
*
*/
public abstract class Objet {
private String nom;
private int prix;
private int usure;
private Personnage proprietaire;
public Objet(String nm, int valeur, int resistance) {
this.nom=nm;
this.prix=valeur;
this.usure=resistance;
}
public int getPrix() {
return this.prix;
}
public String getNom() {
return this.nom;
}
public int getUsure() {
return this.usure;
}
public void utilisation() { // diminue la résistance de l'objet
this.usure--;
if (this.usure == 0) System.out.println(this.nom+"s'est cassée !");
}
public abstract String getType();
public Personnage getProprietaire() {
return this.proprietaire;
}
public void setProprietaire(Personnage perso) {
this.proprietaire=perso;
}
public void lacher() {
this.proprietaire=null;
}
}

View File

@ -1,66 +1,72 @@
package modeles;
/**
* @author Nicolas
*
*/
public class Personnage extends EtreVivant {
private Arme arme;
private Armure armure;
private Bourse bourse;
public Personnage(String nom, int pVieMax,int pAttaque, Salle salle) {
super(nom, pVieMax, pAttaque, salle);
}
public void equiper(Arme arme) {
arme.setProprietaire(this);
this.arme=arme;
}
public void equiper(Armure armure) {
armure.setProprietaire(this);
this.armure=armure;
}
public void utiliser(Potion potion) {
soin();
System.out.println("Pv au maximum");
}
public void seDeplacer(Salle salle) {
this.salle=salle;
}
public void allerMarche(Salle marche){
this.salle=marche;
}
public void soin() {
this.pVie=this.pVieMax;
}
public void attaquer(Monstre monstre) {
if(arme!=null) {
monstre.pVie=monstre.pVie-(arme.getpArme()+getpAttaque());
}
else {
monstre.pVie=monstre.pVie=getpAttaque();
}
}
public void getBourse() {
System.out.println(this.getBourse(););
}
/**
* @return the arme
*/
public Arme getArme() {
return arme;
}
/**
* @return the armure
*/
public Armure getArmure() {
return armure;
}
}
package modeles;
/**
* @author Nicolas
*
*/
public class Personnage extends EtreVivant {
private Arme arme;
private Armure armure;
private Bourse bourse;
public Personnage(String nom, int pVieMax,int pAttaque, Salle salle) {
super(nom, pVieMax, pAttaque, salle);
}
public void equiper(Arme arme) {
arme.setProprietaire(this);
this.arme=arme;
}
public void equiper(Armure armure) {
armure.setProprietaire(this);
this.armure=armure;
}
public void utiliser(Potion potion) {
System.out.println("Pv au maximum");
potion.utilisation();
}
public void seDeplacer(Salle salle) {
this.salle=salle;
}
public int attaquer(Monstre monstre) {
int pAttaqueLoc;
if(arme!=null) {
pAttaqueLoc=monstre.pVie-(arme.getpArme()+this.getpAttaque());
monstre.pVie=pAttaqueLoc;
}
else {
pAttaqueLoc=this.getpAttaque();
monstre.pVie=pAttaqueLoc;
}
return pAttaqueLoc;
}
public Bourse getBourse() {
return this.bourse;
}
public void getValeurBourse() {
System.out.println(this.getBourse().getValeur());
}
/**
* @return the arme
*/
public Arme getArme() {
return arme;
}
/**
* @return the armure
*/
public Armure getArmure() {
return armure;
}
public void soin(int heal) {
if (pVie+heal > pVieMax)pVie=pVieMax;
else pVie+=heal;
}
}

View File

@ -1,22 +1,34 @@
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Porte {
private boolean ouvert;
private char orientation;
public boolean estOuverte() {
return ouvert;
}
public char getOrientation() {
return orientation;
}
}
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Porte {
private boolean ouvert;
private char orientation;
public Porte(boolean ouvert, char orientation) {
super();
this.ouvert = ouvert;
this.orientation = orientation;
}
public boolean estOuverte() {
return ouvert;
}
public char getOrientation() {
return orientation;
}
/**
* @param ouvert
* @param orientation
*/
}

View File

@ -1,12 +1,25 @@
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Potion extends Objet {
}
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Potion extends Objet {
public String getType() {
return "Potion";
}
public Potion(int valeur) {
super("potion", valeur, 1);
}
public void utilisation() {
super.utilisation();
this.getProprietaire().soin(this.getProprietaire().getpVieMax());
}
}

View File

@ -1,19 +1,55 @@
/**
*
*/
package modeles;
/**
* @author flavien
*
*/
public class Salle {
private int positionX;
private int positionY;
private boolean sortie;
public String getType(){
return"type";
}
}
/**
*
*/
package modeles;
import java.util.ArrayList;
import java.util.List;
/**
* @author flavien
*
*/
public class Salle {
private int positionX;
/**
* @param positionX
* @param positionY
* @param sortie
* @param listeEnnemie
* @param listePorte
*/
public Salle(int positionX, int positionY, boolean sortie, List<Monstre> listeEnnemie, List<Porte> listePorte) {
this.positionX = positionX;
this.positionY = positionY;
this.sortie = sortie;
this.listeEnnemie = listeEnnemie;
this.listePorte = listePorte;
}
private int positionY;
private boolean sortie;
private List<Monstre> listeEnnemie= new ArrayList<Monstre>();
private List<Porte> listePorte = new ArrayList<Porte>();
public String getType(){
return "salle";
}
public int getPositionX() {
return this.positionX;
}
public int getPositionY() {
return this.positionY;
}
public boolean estSortie() {
return sortie;
}
public boolean estVide() {
return listeEnnemie.isEmpty();
}
}

View File

@ -0,0 +1,7 @@
package modeles;
public class Snippet {
public static void main(String[] args) {
org.json }
}

View File

@ -0,0 +1,17 @@
package modeles;
import java.io.FileReader;
import java.util.Iterator;
import java.util.Map;
import org.json.*;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.*;
import jdk.nashorn.internal.parser.JSONParser;
import jdk.nashorn.internal.runtime.JSONListAdapter;
public class parseurJson {
Object obj = new JSONParser().parse(new FileReader("map.json"));
JSONObject = jo = (JSONObject) obj;
}

View File

@ -0,0 +1,42 @@
package modeles;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class sauvegarde {
public void enregistrerPersonnage(Labyrinthe lab) {
try {
File f= new File("./personnage.json");
f.createNewFile();
FileWriter fw= new FileWriter(f,true);
for (int i =0; i<lab.listePersonnage.size();i++) {
fw.write("{\n\t \"nom\" : \""+lab.listePersonnage.get(i).getNom()+"\" ,"
+ "\n\t \"pVieMax\" : \""+lab.listePersonnage.get(i).getPvMax()
+"\" ,\n\t \"pVie\" : \""+lab.listePersonnage.get(i).getpVie()
+"\" ,\n\t \"pAttaque\" : \""+lab.listePersonnage.get(i).getpAttaque()
+"\" ,\n\t \"salle\" : \""+lab.listePersonnage.get(i).getSalle().getPositionX()+" "+lab.listePersonnage.get(i).getSalle().getPositionY() /*attention pour la récupération de sauvegarde*/
+"\" ,\n\t \"vivant\" : \""+lab.listePersonnage.get(i).isVivant() +"\n\t \"arme\" : \""+lab.listePersonnage.get(i).getArme().getNom()
+"\" ,\n\t \"armure\" : \""+lab.listePersonnage.get(i).getArmure().getNom() +"\n\t \"bourse\" : \""+lab.listePersonnage.get(i).getBourse().getValeur()+"\n}"); /* attention pour la récupération de donnée */
}
fw.flush();
fw.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
/*
public void enregistrerLabyrinthe(Labyrinthe lab) { // à faire
try {
File f = new File ("./labyrinthe.json");
f.createNewFile();
FileWriter fw= new FileWriter(f,true);
for(int i = 0; i<lab.listeSalle.size();i++) {
fw.write("{\n\t [ \n\t{\n\t ");
}
}
}
*/
}