c'est le bordel

This commit is contained in:
Chiara
2020-04-22 17:00:26 +02:00
60 changed files with 786 additions and 293 deletions

View File

@ -147,7 +147,7 @@ public class ControleurIA {
// bob : si attaque joueur possedant equipement 70?% devoilement
public boolean devoilerIABob(JoueurVirtuel jIA, Joueur jAttaquee) {
if (jAttaquee.getNbEquipments() > 0 && getRandomPercentage() < 70)
if (jAttaquee.getStat(Joueur.PLAYER_NB_EQUIPEMENTS) > 0 && getRandomPercentage() < 70)
return true;
return false;
}

View File

@ -1,5 +0,0 @@
package main;
public class Effet {
}

View File

@ -1,5 +0,0 @@
package main;
public class Equipement {
}

View File

@ -1,51 +1,36 @@
package main;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import condition.Condition;
import carte.Equipement;
public class GestionnaireEquipements {
// String est le nom de l'equip, et Equip c'est l'objet, on suppose ici qu'il ne
// peut pas y avoir de doublon d'equipement
private Map<String, Equipement> equipements = new HashMap<>();
private Joueur j;
private List<Equipement> equipements;
public int getNbEquipments() {
return equipements.size();
public GestionnaireEquipements(Joueur j) {
this.j = j;
this.equipements = new ArrayList<Equipement>();
}
public void ajouter(Equipement e) {
this.equipements.add(e);
e.utiliser(this.j);
this.j.addToStat(Joueur.PLAYER_NB_EQUIPEMENTS, 1);
}
public void retirer(Equipement e) {
if(this.equipements.contains(e)) {
e.reverse(j);
this.equipements.remove(e);
this.j.addToStat(Joueur.PLAYER_NB_EQUIPEMENTS, -1);
}
}
// precondition : verifier que le gestionnaire contient l'equipement avec
// containsEquipement
public Equipement getEquipement(String key) {
return equipements.get(key);
public List<Equipement> getEquipements() {
return equipements;
}
public boolean containsEquipement(String key) {
return equipements.containsKey(key);
}
public void addEquipement(String s, Equipement e) {
equipements.put(s, e);
}
// ex : si le joueur se fait voler un equipement, on l'enleve de la liste
// d'equipements
public Equipement removeEquipement(String key) {
return equipements.remove(key);
}
// methode qui renvoit une liste des effets des equipements du joueur qui
// s'activeront dans une certaine phase de la partie par rapport a la condition
// en parametre
public List<Effet> getEffets(Condition c) {
// TODO
return null;
}
// pour methode choisir de joueur
public Equipement[] getArrayEquipements() {
return (Equipement[]) equipements.values().toArray();
}
}
}

View File

@ -1,7 +1,12 @@
package main;
import java.util.List;
import effet.Effet;
public class GestionnaireJeu {
private Plateau plateau;
private View view;
public GestionnaireJeu (Plateau p) {
plateau = p;
@ -24,4 +29,27 @@ public class GestionnaireJeu {
return null;
}
public Joueur choisirParmisTous(Joueur joueur, List<Joueur> joueurs) {
return joueur;
// TODO Auto-generated method stub
}
public Effet choisirEffet(Joueur joueur, Effet[] effets) {
// TODO Auto-generated method stub
return null;
}
public Joueur choisirAdjacents(Joueur joueur, List<Joueur> joueurs) {
// TODO Auto-generated method stub
return null;
}
public boolean choisir(Joueur joueur) {
// TODO Auto-generated method stub
return false;
}
}

View File

@ -4,6 +4,8 @@ import java.util.List;
import java.util.Map;
import carte.CarteLieu;
import carte.Equipement;
import carte.EquipementStat;
import effet.Effet;
import personnage.CartePersonnage;
@ -39,7 +41,7 @@ public class Joueur {
public Joueur(String nom) {
this.nom = nom;
this.revele = false;
this.gestionnaireEquipements = new GestionnaireEquipements(this);
stats = new HashMap<>();
@ -48,7 +50,8 @@ public class Joueur {
//stats.put(PLAYER_HP, char.getHP());
//stats.put(PLAYER_TURN, 1);
//stats.put(PLAYER_DAMAGE, 0); - dégats en +
stats.put(PLAYER_DAMAGE, 0);
stats.put(PLAYER_NB_EQUIPEMENTS, 0);
//stats.put(PLAYER_RESISTANCE, 0);
//stats.put(PLAYER_REVEAL, 0);
//stats.put(PLAYER_IMMUNITY, 0);
@ -71,14 +74,11 @@ public class Joueur {
if(stats.containsKey(key)) {
return stats.get(key);
}else {
return -1;
}
}
public int getNbEquipments() {
return gestionnaireEquipements.getNbEquipments();
}
public List<Joueur> getJoueursAdjacents() {
@ -87,17 +87,16 @@ public class Joueur {
return joueurs;
}
public Equipement[] getEquipements() {
// TODO Auto-generated method stub
return null;
public List<Equipement> getEquipements() {
return this.gestionnaireEquipements.getEquipements();
}
public void voler(Joueur j2, Equipement equipement) {
// TODO Auto-generated method stub
}
j2.gestionnaireEquipements.retirer(equipement);
this.gestionnaireEquipements.ajouter(equipement); }
public Equipement choisir(Equipement[] equipements) {
public Equipement choisir(List<Equipement> equipements) {
// TODO Auto-generated method stub
return null;
}
@ -108,7 +107,6 @@ public class Joueur {
if(blessure > 0)
{
j2.addToStat(PLAYER_HP, -blessure);
this.cartePersonnage.attaquer(j2, blessure);
}
}
@ -128,22 +126,28 @@ public class Joueur {
public void addToStat(String key, int valeur)
{
int valeurBase = this.getStat(key);
this.setStat(Joueur.PLAYER_HP,valeurBase+valeur);
this.setStat(key,valeurBase+valeur);
}
public Plateau getPlateau() {
return this.plateau;
}
public boolean choisir() {
return this.plateau.choisir(this);
}
public Joueur choisirAdjacents() {
// TODO Auto-generated method stub
return null;
return this.plateau.choisirAdjacents(this);
}
public Effet choisir(Effet[] effets) {
// TODO Auto-generated method stub
return null;
return this.plateau.choisirEffet(this,effets);
}
public Joueur choisiParmisTous() {
return this.plateau.choisirParmisTous(this);
}
public boolean getRevele() {
@ -167,10 +171,7 @@ public class Joueur {
this.plateau = plateau2;
}
public boolean choisir() {
// TODO Auto-generated method stub
return false;
}
public void utiliserEffetLieu() {
this.carteLieu.utiliser(this);
@ -186,10 +187,7 @@ public class Joueur {
}
public Joueur choisirTous() {
// TODO Auto-generated method stub
return null;
}
public CarteLieu getCarteLieu() {
return this.carteLieu;
@ -198,4 +196,20 @@ public class Joueur {
public String getNom() {
return this.nom;
}
public void reveal() {
this.revele = true;
}
public void setRevele(boolean b) {
this.revele = b;
}
public void ajouterEquipement(Equipement equipement) {
this.gestionnaireEquipements.ajouter(equipement);
}
public void retirerEquipement(Equipement equipement) {
this.gestionnaireEquipements.retirer(equipement);
}
}

View File

@ -1,6 +1,7 @@
package main;
import java.util.List;
import carte.Equipement;
import effet.Effet;

View File

@ -22,8 +22,7 @@ public class Pioche<T extends Type> {
Collections.shuffle(cartesPiochables);
}
public CartePiochable<?> piocher() {
public CartePiochable<?> piocher() {
return cartesPiochables.pop();
}
}

View File

@ -7,9 +7,11 @@ import java.util.List;
import java.util.Map;
import carte.CarteLieu;
import effet.Effet;
public class Plateau {
private GestionnaireJeu gj;
private List<Joueur> joueurs;
private List<CarteLieu> lieux;
@ -27,6 +29,9 @@ public class Plateau {
public Plateau(List<Joueur> joueurs) {
joueurs.forEach(x -> x.setPlateau(this));
this.joueurs = joueurs;
this.lieux = new ArrayList<>();
@ -159,7 +164,6 @@ public class Plateau {
}else {
//TODO Throw exception
}
}
@ -167,4 +171,30 @@ public class Plateau {
this.lieux = lieux;
shuffleLieux();
}
public boolean choisir(Joueur joueur) {
return gj.choisir(joueur);
}
public Joueur choisirAdjacents(Joueur joueur) {
List<Joueur> joueurs = new ArrayList<Joueur>();
CarteLieu cl = joueur.getCarteLieu();
joueurs.addAll(cl.getJoueurs());
joueurs.remove(joueur);
joueurs.addAll(cl.getJoueursAdjacents());
return gj.choisirAdjacents(joueur, joueurs);
}
public Effet choisirEffet(Joueur joueur, Effet[] effets) {
return gj.choisirEffet(joueur,effets);
}
public Joueur choisirParmisTous(Joueur joueur) {
List<Joueur> joueurs = this.getJoueurs();
return gj.choisirParmisTous(joueur,joueurs);
}
}

5
src/main/View.java Normal file
View File

@ -0,0 +1,5 @@
package main;
public class View {
}