Skip to content

Commit

Permalink
maj
Browse files Browse the repository at this point in the history
  • Loading branch information
flaw03 committed Mar 15, 2023
1 parent c03a15a commit 9ad4367
Show file tree
Hide file tree
Showing 9 changed files with 131 additions and 14 deletions.
17 changes: 17 additions & 0 deletions src/controleur/ControlAcheterProduit.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
package controleur;

import personnages.Gaulois;
import villagegaulois.Etal;
import villagegaulois.Village;

public class ControlAcheterProduit {
private Village village;
private ControlTrouverEtalVendeur controlTrouverEtalVendeur;
private ControlVerifierIdentite controlVerifierIdentite;



public ControlAcheterProduit(ControlVerifierIdentite controlVerifierIdentite,
ControlTrouverEtalVendeur controlTrouverEtalVendeur,
Village village) {
Expand All @@ -15,5 +19,18 @@ public ControlAcheterProduit(ControlVerifierIdentite controlVerifierIdentite,
this.controlTrouverEtalVendeur = controlTrouverEtalVendeur;
}

public Gaulois[] trouveVendeurs (String nomProduit){
return village.rechercherVendeursProduit(nomProduit);
}

public int nbrProduitDisponible(Gaulois vendeur){
Etal etal =village.rechercherEtal(vendeur);
return etal.getQuantite();
}

public void acheterProduit(int nbrProduit,Gaulois vendeur){
Etal etal =village.rechercherEtal(vendeur);
etal.acheterProduit(nbrProduit);
}
//TODO a completer
}
4 changes: 4 additions & 0 deletions src/controleur/ControlAfficherMarche.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ public class ControlAfficherMarche {

public ControlAfficherMarche(Village village) {
this.village = village;

}
public String[] donnerMarcher(){
return village.donnerEtatMarche();
}

//TODO a completer
Expand Down
23 changes: 19 additions & 4 deletions src/controleur/ControlLibererEtal.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,24 @@
package controleur;

import personnages.Gaulois;
import villagegaulois.Village;
import villagegaulois.Etal;
public class ControlLibererEtal {
private ControlTrouverEtalVendeur controlTrouverEtalVendeur;
private Village village;

public ControlLibererEtal(
ControlTrouverEtalVendeur controlTrouverEtalVendeur) {
ControlTrouverEtalVendeur controlTrouverEtalVendeur,Village village) {
this.controlTrouverEtalVendeur = controlTrouverEtalVendeur;
this.village = village;
}

public boolean isVendeur(String nomVendeur){
Etal etal = controlTrouverEtalVendeur.trouverEtalVendeur(nomVendeur);
if (etal != null){
return true;
}
return false;
}

//TODO a completer
Expand All @@ -19,9 +32,11 @@ public ControlLibererEtal(
* quantité de produit vendu
*/
public String[] libererEtal(String nomVendeur) {
//TODO a completer
String[] donneesEtal = null;
return donneesEtal;
Gaulois vendeur = village.trouverHabitant(nomVendeur);
Etal etal = village.rechercherEtal(vendeur);
String donner[] = etal.etatEtal();
etal.libererEtal();
return donner;
}

}
6 changes: 5 additions & 1 deletion src/controleur/ControlTrouverEtalVendeur.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package controleur;

import personnages.Gaulois;
import villagegaulois.Etal;
import villagegaulois.Village;

Expand All @@ -11,8 +12,11 @@ public ControlTrouverEtalVendeur(Village village) {
}

public Etal trouverEtalVendeur(String nomVendeur) {
//TODO a completer
Gaulois vendeur = village.trouverHabitant(nomVendeur);
Etal etal = null;
if (vendeur != null){
etal = village.rechercherEtal(vendeur);
}
return etal;
}
}
56 changes: 54 additions & 2 deletions src/frontiere/BoundaryAcheterProduit.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,68 @@
import java.util.Scanner;

import controleur.ControlAcheterProduit;
import controleur.ControlVerifierIdentite;
import personnages.Gaulois;

import static frontiere.Clavier.entrerEntier;

public class BoundaryAcheterProduit {
private Scanner scan = new Scanner(System.in);
private ControlAcheterProduit controlAcheterProduit;
private ControlVerifierIdentite controlVerifierIdentite;

public BoundaryAcheterProduit(ControlAcheterProduit controlAcheterProduit) {
public BoundaryAcheterProduit(
ControlAcheterProduit controlAcheterProduit ,ControlVerifierIdentite controlVerifierIdentite) {
this.controlAcheterProduit = controlAcheterProduit;
this.controlVerifierIdentite = controlVerifierIdentite;
}

public void acheterProduit(String nomAcheteur) {
// TODO à completer
Boolean villageois = controlVerifierIdentite.verifierIdentite(nomAcheteur);
System.out.println("Quel produit voulez-vous acheter ?");
String nomProduit = scan.nextLine();

Gaulois vendeurs[] = controlAcheterProduit.trouveVendeurs(nomProduit);
if(!villageois){
System.out.println("Desolé mais on vend que au villageois et vous n'en faite pas partie.");
}
else if(vendeurs == null){
System.out.println("Désolé mais personne ne vend de " + nomProduit + " ici allez vois ailleur ");
}
else{
StringBuilder question = new StringBuilder();
question.append("Chez quel commercant voulez vous acheter des fleurs ?\n");

for(int i = 0; i<vendeurs.length ; i++){
question.append(i+1+" -"+vendeurs[i].getNom()+"\n");
}
int choix = entrerEntier(question.toString());
while (choix <= vendeurs.length && choix >0){
choix = entrerEntier(question.toString());
}

Gaulois vendeur = vendeurs[choix-1];
System.out.println(nomAcheteur+" se deplace jusqu'à l'étal du vendeur "+vendeur.getNom()+"\n" );
StringBuilder question2 = new StringBuilder();

int nbrProduitDisponible = controlAcheterProduit.nbrProduitDisponible(vendeur);

if (nbrProduitDisponible == 0) {
System.out.println("Désole mais " + vendeur.getNom() + " n'a plus de " + nomProduit + " a vendre\n");
}
else {
question2.append("Combien de "+nomProduit + " voulez vous acheter ?\n");
int nbrProduit = entrerEntier(question2.toString());

while (nbrProduit > nbrProduitDisponible) {
System.out.println(vendeur.getNom() +"n'a que "+nbrProduitDisponible +" de "+nomProduit+"\n");
nbrProduit = entrerEntier(question2.toString());
}

controlAcheterProduit.acheterProduit(nbrProduit,vendeur);
System.out.println(
nomAcheteur + " a acheter "+ nbrProduit+ " de "+nomProduit+" a " + vendeur.getNom() +"\n");
}
}
}
}
15 changes: 14 additions & 1 deletion src/frontiere/BoundaryAfficherMarche.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,19 @@ public BoundaryAfficherMarche(ControlAfficherMarche controlAfficherMarche) {
this.controlAfficherMarche = controlAfficherMarche;
}
public void afficherMarche(String nomAcheteur) {

String infoMarche[] = controlAfficherMarche.donnerMarcher();
if (infoMarche.length == 0){
System.out.println("Le marché est vide, revenez plus tard.\n");
}else{
System.out.println(nomAcheteur + " vous trouverais au marché ");
for(int i = 0 ; i< infoMarche.length;i++){
String vendeur = infoMarche[i];
i++;
int quantite = Integer.parseInt(infoMarche[i]);
i++;
String produit = infoMarche[i];
System.out.println(" -" + vendeur + " qui vend " + quantite + " " + produit);
}
}
}
}
4 changes: 1 addition & 3 deletions src/frontiere/BoundaryEmmenager.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public void emmenager(String nomVisiteur) {

case 2:
System.out.println(
"Bienvenue Villageois");
"Bienvenue Villageois" + nomVisiteur);
StringBuilder question2 = new StringBuilder();
question2.append("Quelle est votre force ?\n");
int force = Clavier.entrerEntier(question2.toString());
Expand Down Expand Up @@ -71,7 +71,5 @@ private void emmenagerDruide(String nomVisiteur) {
}
controlEmmenager.ajouterDruide(nomVisiteur, forceDruide, effetPotionMin, effetPotionMax);



}
}
16 changes: 15 additions & 1 deletion src/frontiere/BoundaryLibererEtal.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,21 @@ public BoundaryLibererEtal(ControlLibererEtal controlLibererEtal) {
}

public void libererEtal(String nomVendeur) {
//TODO a completer
if (!controlLibererEtal.isVendeur(nomVendeur)){
System.out.println("Mais vous n'êtes pas un vendeur sur notre marché aujourd'hui !\n");
}
else{
String donnnesEtal[] =controlLibererEtal.libererEtal(nomVendeur);
boolean etalOccupe = Boolean.parseBoolean(donnnesEtal[0]);
if (etalOccupe){
String produit = donnnesEtal[2];
int quantiteInitial = Integer.parseInt(donnnesEtal[3]);
int quantiteVendu = Integer.parseInt(donnnesEtal[4]);
System.out.println("Vous avez vendu " + quantiteVendu + " sur " + quantiteInitial + " " + produit + ".\n");
System.out.println("Au revoir "+nomVendeur + "passez une bonne journée");
}
}

}

}
4 changes: 2 additions & 2 deletions src/histoire/Scenario.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public static void main(String[] args) {
ControlPrendreEtal controlChercherEtal = new ControlPrendreEtal(
controlVerifierIdentite, village);
ControlLibererEtal controlLibererEtal = new ControlLibererEtal(
controlTrouverEtalVendeur);
controlTrouverEtalVendeur,village);
ControlAcheterProduit controlAcheterProduit = new ControlAcheterProduit(
controlVerifierIdentite, controlTrouverEtalVendeur, village);
ControlAfficherMarche controlAfficherMarche = new ControlAfficherMarche(
Expand All @@ -53,7 +53,7 @@ public static void main(String[] args) {
BoundaryLibererEtal boundaryLibererEtal = new BoundaryLibererEtal(
controlLibererEtal);
BoundaryAcheterProduit boundaryAcheterProduit = new BoundaryAcheterProduit(
controlAcheterProduit);
controlAcheterProduit,controlVerifierIdentite);
BoundaryAfficherMarche boundaryAfficherMarche = new BoundaryAfficherMarche(
controlAfficherMarche);
BoundaryLeVillage boundaryLeMarche = new BoundaryLeVillage(
Expand Down

0 comments on commit 9ad4367

Please sign in to comment.