/// <summary>
        /// Gestion de l'achat chez une ia en mode aléatoire
        /// Se réfère a la classe parente : Player
        /// </summary>
        public override void BuyCard(Piles pile)
        {
            Cards card = pile.PickCard();

            Console.WriteLine("{0} pioche la carte : {1}", Name, card);
            Console.WriteLine("{0} a actuellement {1} coins, et la carte coûte {2}.", Name, Coins, card.Info.Cost);

            if (card.Info.Cost > Coins)
            {
                Console.WriteLine("{0} n'a pas assez d'argent.", Name);
                return;
            }

            if (WantToBuyCard(card))
            {
                Console.WriteLine("{0} achète la carte.", Name);
                Coins -= card.Info.Cost;
                cards.Add(card);
            }
            else
            {
                Console.WriteLine("{0} n'achète pas la carte.", Name);
                pile.ReplaceCard(card);
            }
        }
示例#2
0
 public Game()
 {
     dies.AddRange(new List <Die>()
     {
         new Die("mignon"), new Die("colérique")
     });
     deck    = new Piles();
     playerA = new Human("Humain");
     playerB = new IaWithALittleBrain("Jeremy");
     RunGame();
 }
示例#3
0
        /// <summary>
        /// Affiche et demande dans la console au joueur
        /// Et se base sur les instructions de la classe parent : Player
        /// </summary>
        public override void BuyCard(Piles pile)
        {
            Cards card  = pile.PickCard();
            int   cost  = card.Info.Cost;
            int   coins = Coins;

            Console.WriteLine("Vous piochez la carte : " + card);
            Console.WriteLine("Vous avez actuellement {0} coins, et la carte coûte {1}.", coins, cost);

            if (coins < cost)
            {
                Console.WriteLine("Vous ne pouvez pas l'acheter, vous êtes trop pauvre.");
                return;
            }

            Console.WriteLine("Souhaitez vous l'acheter ?");
            Console.WriteLine("1 - Oui");
            Console.WriteLine("2 - Non");
            string answer = Console.ReadLine().ToLower();

            bool success;

            do
            {
                success = true;
                switch (answer)
                {
                case "1":
                case "oui":
                    BuyCardProcess(pile, card);
                    break;

                case "2":
                case "non":
                    Console.WriteLine("Ok je la remets dans le paquet.");
                    pile.ReplaceCard(card);
                    break;

                default:
                    success = false;
                    break;
                }
            } while (!success);
        }
示例#4
0
        public Game(int nbrJoueurs, int n)
        {
            Console.Write("Votre nom ? : ");
            string playerName = Console.ReadLine();

            this.nbCartes = n;
            for (int i = 1; i < nbrJoueurs + 1; i++)
            {
                if (i == 1)
                {
                    pName = playerName;
                }
                else
                {
                    pName = (Convert.ToString(i));
                }
                playerList.Add(new Player(pName));
            }
            piles = new Piles(nbCartes);
        }
示例#5
0
 private void BuyCardProcess(Piles pile, Cards card)
 {
     cards.Add(card);
     Coins -= card.Info.Cost;
     Console.WriteLine("Il vous reste {0} coins.", Coins);
 }
示例#6
0
 /// <summary>
 /// Gère la fonction des joueurs a acheter des cartes.
 /// Si la carte est achetée alors on l'enleve du paquets pour la mettre dans la liste du joueur
 /// sinon on la remets a l'index 0 de la pile
 /// </summary>
 public abstract void BuyCard(Piles pile);