package inutile;
/*
import java.util.Vector;

import javax.swing.JOptionPane;

import mains.monopolyConsole;
import modele.Banque;
import modele.Keyboard;
import modele.cartesChance;
import modele.cartesCommunaute;
import modele.joueur;
import modele.possessionPossible;
import modele.propriete;
import IHM.IHMjoueur;
import IHM.IHMmonopoly;

public class payerJoueur {
	public void payerFraisIHM(double n, Vector <IHMjoueur> joueurs, Banque b){ 
		if (argent>n||argent==n){
			argent=argent-n;
		}
		else {
			if (proprietes.isEmpty()&&!possedeCarteSortirDePrison1){
				JOptionPane.showMessageDialog(null, nomJoueur+", vous n'avez pas assez d'argent pour payer.\nVous n'avez aucune propriété ni carte de sortie de prison à vendre. Vous avez fait faillite.","",JOptionPane.INFORMATION_MESSAGE);
				aFaitFaillite=true;
				IHMmonopoly.joueurPerdant(this);
			}
			else {
				JOptionPane.showMessageDialog(null, nomJoueur+", vous n'avez pas assez d'argent pour payer.","",JOptionPane.INFORMATION_MESSAGE);
				monopolyConsole.affichagePossessions(this);
				boolean venteCartePrisonPossible=true;
				boolean ventePropPossible=true;
				Vector <possessionPossible> propAVendre=proprietes;
				do {
					if (possedeCarteSortirDePrison1&&venteCartePrisonPossible){
						venteCartePrisonPossible=venteCartePrison(joueurs,b);
					}
					if (proprietes.isEmpty()&&!venteCartePrisonPossible){
						JOptionPane.showMessageDialog(null, "Vous n'avez pas de propriétés à vendre ou à hypothéquer. Vous avez fait faillite.","",JOptionPane.INFORMATION_MESSAGE);
						aFaitFaillite=true;
						IHMmonopoly.joueurPerdant(this);
					}
					if (ventePropPossible){
						monopolyConsole.affichagePossessions(this);
						Object [] Possibilites={"Vendre une propriété à un joueur","Hypothéquer","Vendre des constructions à la banque"};
						String s=(String)JOptionPane.showInputDialog(null,"Voulez vous :","",JOptionPane.QUESTION_MESSAGE,null,Possibilites,Possibilites[0]);
						int choix=1;
						if ((s != null) && (s.length() > 0)) {
							if (s.substring(0, 8).equals("Vendre d"))
								choix=3;
							if (s.substring(0, 3).equals("Hyp"))
								choix=2;
						}
						switch(choix){
						case 1:
							if (propAVendre.isEmpty()){
								JOptionPane.showMessageDialog(null, "Aucune de vos propriétés n'intéresse les joueurs. Vous leur avez déjà tout proposé.","",JOptionPane.ERROR_MESSAGE);
							}
							else {
								System.out.println("Quelle propriété voulez-vous vendre ?");
								int prop=Keyboard.readInt();
								if (!propAVendre.contains(proprietes.get(prop))){
									System.out.println("Vous avez déjà proposé cette propriété à la vente.");
								}
								else {
									System.out.println("A quel prix voulez-vous vendre "+proprietes.get(prop).getNom());
									int prix=Keyboard.readInt();
									System.out.println("Un joueur est-il intéressé par la propriété "+proprietes.get(prop)+" au prix de "+prix+" €.");
									String reponse4=Keyboard.readString();
									if (reponse4.equals("non")){
										propAVendre.remove(propAVendre.indexOf(proprietes.get(prop)));
									}
									else{
										System.out.println("Quel est le nom du joueur intéressé ?");
										String nj=Keyboard.readString();
										joueur J=null;
										do {
											for (int i=0; i<joueurs.size();i++){
												if (joueurs.get(i).getNom().equals(nj))
													J=joueurs.get(i);
											}
											if (J==null){
												System.out.println(nj+" est un nom de joueur invalide. Vérifiez l'orthographe.");
												nj=Keyboard.readString();
											}
										}while(J==null);
										if (J.getArgent()>=prix){
											System.out.println(J.getNom()+" achète "+proprietes.get(prop).getNom()+" appartenant à "+nomJoueur+" au prix de "+prix+" €.");
											J.payerFraisIHM((double)prix, joueurs,b);
											J.acheter(proprietes.get(prop),prix);
											this.enleverProp(proprietes.get(prop));
											propAVendre.remove(proprietes.get(prop));
											argent+=prix;
										}
										else {
											if (J.trouverArgent(prix, joueurs, b)){
												System.out.println(J.getNom()+" achète "+proprietes.get(prop).getNom()+" appartenant à "+nomJoueur+" au prix de "+prix+" €.");
												J.payerFraisIHM((double)prix, joueurs,b);
												J.acheter(proprietes.get(prop),prix);
												this.enleverProp(proprietes.get(prop));
												propAVendre.remove(proprietes.get(prop));
												argent+=prix;
											}
											else //l'acheteur n'a pas trouvé assez d'argent
												System.out.println(nomJoueur+", vous ne pouvez pas vendre votre propriété à "+J.getNom());
										}
									}
								}
							}
							break;
						case 2:
							if (!possibiliteDHypothequer())
								JOptionPane.showMessageDialog(null, "Vous ne pouvez pas hypothéquer.","",JOptionPane.ERROR_MESSAGE);
							else {
								System.out.println("Quelle propriété voulez-vous hypothéquer ?");
								int choix2=Keyboard.readInt();
								hypothequer(proprietes.get(choix2));
							}
							break;
						case 3:
							if (possibiliteVendreConst()){
								
								System.out.println("Sur quelle propriété voulez vous vendre les constructions ?");
								int choix3=Keyboard.readInt();
								if ((""+proprietes.get(choix3).getClass()).equals("class propriete"))
									vendreConstructionBanque((propriete)proprietes.get(choix3),b);
								else
									JOptionPane.showMessageDialog(null, "Cette propriété n'est pas un terrain constructible.","",JOptionPane.ERROR_MESSAGE);
							}
							else {
								JOptionPane.showMessageDialog(null, "Aucun de vos terrains ne possède de construction. Vous ne pouvez pas vendre de construction.","",JOptionPane.ERROR_MESSAGE);
							}
							break;
						}
					}
					if (!venteCartePrisonPossible&&propAVendre.isEmpty()&&!possibiliteDHypothequer()&&(argent<n)){
						JOptionPane.showMessageDialog(null, "Vous n'avez plus de solution pour trouver de l'argent. Vous avez fait faillite.","",JOptionPane.INFORMATION_MESSAGE);
						aFaitFaillite=true;
						IHMmonopoly.joueurPerdant(this);
						if (!proprietes.isEmpty()){
							JOptionPane.showMessageDialog(null, "Mise aux enchères des propriétés de "+nomJoueur,"",JOptionPane.INFORMATION_MESSAGE);
							for (int i=0; i<proprietes.size();i++)
								IHMmonopoly.miseAuxEncheres(proprietes.get(i));
						}
						if (possedeCarteSortirDePrison1){
							if (possedeCarteSortirDePrison2){
								cartesChance.cartePrisonDispo();
								cartesCommunaute.cartePrisonDispo();
							}
							else {
								if (cartesChance.getCartePrisonPlusDispo())
									cartesChance.cartePrisonDispo();
								else
									cartesCommunaute.cartePrisonDispo();
							}
						}
					}
				}while (argent<n&&!aFaitFaillite);
				if (argent>=n){
					argent=argent-n;
					JOptionPane.showMessageDialog(null, "Vous avez trouvé assez d'argent pour payer. Il vous reste désormais "+argent+" €.","",JOptionPane.INFORMATION_MESSAGE);
				}
			}
		}
}
*/