Esempio n. 1
0
 /// <summary>
 /// Mets à jour les points de vie des unités sur le champs de bataille.
 /// </summary>
 /// <param name="attaquant">Le champs de bataille de l'attaquant</param>
 /// <param name="defenseur">Le champs de bataille du défenseur</param>
 /// <param name="joueurDefense">Le joueur qui reçoit l'attaque</param>
 /// <param name="champ1">Si on attaque ou pas sur le champs 1</param>
 /// <param name="champ2">Si on attaque ou pas sur le champs 2</param>
 /// <param name="champ3">Si on attaque ou pas sur le champs 3</param>
 private void Tirer(ChampBatailleUnites attaquant, ChampBatailleUnites defenseur, Joueur joueurDefense, bool champ1, bool champ2, bool champ3)
 {
     if (champ1 && attaquant.Champ1 != null)
     {
         if (((attaquant.Champ1.EffetCarte != null && attaquant.Champ1.EffetCarte.Type != "imblocable") || attaquant.Champ1.EffetCarte == null) && defenseur.Champ1 != null)
         {
             if (attaquant.Champ1.EffetCarte == null || (attaquant.Champ1.EffetCarte != null && attaquant.Champ1.EffetCarte.Type != "attaqueFurtive" && attaquant.Champ1.EffetCarte.Type != "indestructible"))
             {
                 attaquant.VieChamp1 -= defenseur.AttChamp1;
             }
             if (defenseur.Champ1.EffetCarte == null || (defenseur.Champ1.EffetCarte != null && defenseur.Champ1.EffetCarte.Type != "indestructible"))
             {
                 defenseur.VieChamp1 -= attaquant.AttChamp1;
             }
         }
         else
         {
             joueurDefense.PointDeBlindage -= attaquant.AttChamp1;
         }
     }
     if (champ2 && attaquant.Champ2 != null)
     {
         if (((attaquant.Champ2.EffetCarte != null && attaquant.Champ2.EffetCarte.Type != "imblocable") || attaquant.Champ2.EffetCarte == null) && defenseur.Champ2 != null)
         {
             if (attaquant.Champ2.EffetCarte == null || (attaquant.Champ2.EffetCarte != null && attaquant.Champ2.EffetCarte.Type != "attaqueFurtive" && attaquant.Champ2.EffetCarte.Type != "indestructible"))
             {
                 attaquant.VieChamp2 -= defenseur.AttChamp2;
             }
             if (defenseur.Champ2.EffetCarte == null || (defenseur.Champ2.EffetCarte != null && defenseur.Champ2.EffetCarte.Type != "indestructible"))
             {
                 defenseur.VieChamp2 -= attaquant.AttChamp2;
             }
         }
         else
         {
             joueurDefense.PointDeBlindage -= attaquant.AttChamp2;
         }
     }
     if (champ3 && attaquant.Champ3 != null)
     {
         if (((attaquant.Champ3.EffetCarte != null && attaquant.Champ3.EffetCarte.Type != "imblocable") || attaquant.Champ3.EffetCarte == null) && defenseur.Champ3 != null)
         {
             if (attaquant.Champ3.EffetCarte == null || (attaquant.Champ3.EffetCarte != null && attaquant.Champ3.EffetCarte.Type != "attaqueFurtive" && attaquant.Champ3.EffetCarte.Type != "indestructible"))
             {
                 attaquant.VieChamp3 -= defenseur.AttChamp3;
             }
             if (defenseur.Champ3.EffetCarte == null || (defenseur.Champ3.EffetCarte != null && defenseur.Champ3.EffetCarte.Type != "indestructible"))
             {
                 defenseur.VieChamp3 -= attaquant.AttChamp3;
             }
         }
         else
         {
             joueurDefense.PointDeBlindage -= attaquant.AttChamp3;
         }
     }
 }
Esempio n. 2
0
        public void ExecuterEffetFinTour()
        {
            List <Effet>        effetsAExecuter = new List <Effet>();
            ChampBatailleUnites unites          = null;
            ChampConstructions  batiments       = null;
            Joueur receveur = null;

            if (!JoueurActifEst1)
            {
                unites    = ChampBatailleUnitesJ1;
                batiments = ChampConstructionsJ1;
                receveur  = Joueur2;
            }
            else
            {
                unites    = ChampBatailleUnitesJ2;
                batiments = ChampConstructionsJ2;
                receveur  = Joueur1;
            }
            if (unites.Champ1 != null && unites.Champ1.EffetCarte != null)
            {
                if (unites.Champ1.EffetCarte.Type == "radiation")
                {
                    effetsAExecuter.Add(unites.Champ1.EffetCarte);
                }
            }
            if (unites.Champ2 != null && unites.Champ2.EffetCarte != null)
            {
                if (unites.Champ2.EffetCarte.Type == "radiation")
                {
                    effetsAExecuter.Add(unites.Champ2.EffetCarte);
                }
            }
            if (unites.Champ3 != null && unites.Champ3.EffetCarte != null)
            {
                if (unites.Champ3.EffetCarte.Type == "radiation")
                {
                    effetsAExecuter.Add(unites.Champ3.EffetCarte);
                }
            }
            ExecuterEffets(effetsAExecuter, receveur);
        }
Esempio n. 3
0
        // Constructeur de la table de jeu.
        // Celle-ci à besoin d'avoir les decks des deux joueurs pour mélanger ceux-ci et distribuer les mains de départs.
        public TableDeJeu(Joueur joueurUn, Joueur joueurDeux)
        {
            // Initialise la liste d'observateurs.
            observers = new List <IObserver <TableDeJeu> >();

            Joueur1 = joueurUn;
            Joueur2 = joueurDeux;

            LstMainJ1 = new List <Carte>();
            LstMainJ2 = new List <Carte>();


            ChampConstructionsJ1 = new ChampConstructions();
            ChampConstructionsJ2 = new ChampConstructions();

            ChampBatailleUnitesJ1 = new ChampBatailleUnites();
            ChampBatailleUnitesJ2 = new ChampBatailleUnites();


            LstUsineRecyclageJ1 = new List <Carte>();
            LstUsineRecyclageJ2 = new List <Carte>();

            Phase = 1; // La partie commence en phase "1", c'est à dire la phase de ressource. Il n'y a pas de phase 0.

            // Aucun tour ont été completé au début de la partie
            NbTourComplet = 0;

            JoueurActifEst1 = true; // Il y a deux joueur : Joueur 1 et joueur 2. Lorsque ce bool est vrai, c'est au joueur 1 et vice-versa.

            // Brasser les deck
            BrasserDecks();

            // Donner une main à chaque joueurs
            int compteurNbCarte = 0;

            while (compteurNbCarte != 6)
            {
                PigerCartes();

                compteurNbCarte++;
            }
        }