Ejemplo n.º 1
0
 public ResultatEffect(Perso attaquant, Perso defenseur, Effet effet, int ChanceCrit, int dégatsCrit)
 {
     /*switch (arme.GetTypeEquipement())
      * {
      *  case (int) Genre.typeEquipementBase.cac:
      *      chanceToucher = attaquant.listStat[(int)Stat.stats.CC].GetValue() - defenseur.listStat[(int)Stat.stats.ResistanceCaC].GetValue() + 50;
      *      chanceCrit = attaquant.listStat[(int)Stat.stats.ChanceCrit].GetValue() - defenseur.listStat[(int)Stat.stats.ResistanceCritique].GetValue();
      *      chanceToucher = GestionValeur.GetValeurOn100(chanceToucher);
      *      chanceCrit = GestionValeur.GetValeurOn100(chanceCrit);
      *      Roll.Attaque(chanceToucher, out resultat, out reussite, int ChanceCrit, int dégatsCrit);
      *      break;
      *  case (int)Genre.typeEquipementBase.dist:
      *      chanceToucher = attaquant.listStat[(int)Stat.stats.CT].GetValue() - defenseur.listStat[(int)Stat.stats.ResistanceDist].GetValue();
      *      chanceCrit = attaquant.listStat[(int)Stat.stats.ChanceCrit].GetValue() - defenseur.listStat[(int)Stat.stats.ResistanceCritique].GetValue();
      *      chanceToucher = GestionValeur.GetValeurOn100(chanceToucher);
      *      chanceCrit = GestionValeur.GetValeurOn100(chanceCrit);
      *      Roll.Attaque(chanceToucher, out resultat, out reussite, int ChanceCrit, int dégatsCrit);
      *      break;
      * }
      * if (reussite)
      * {
      *  CalculeEffet(attaquant, defenseur, arme);
      *  ReductionDegats(attaquant, defenseur, "physique");
      * }*/
     CalculeEffet(attaquant, defenseur, ChanceCrit, dégatsCrit);
     // si il sagit de dégats
     if (effet.id_stat == (int)Stat.stats.PVManquand && effet.positif)
     {
         ReductionDegats(attaquant, defenseur);
     }
 }
Ejemplo n.º 2
0
    public override void copy(Effet ef)
    {
        EffetEtourdit e = (EffetEtourdit)ef;

        styleEffect = e.styleEffect;
        timeEffect  = e.timeEffect;
        duree       = e.duree;
        image       = e.image;
    }
Ejemplo n.º 3
0
 private void OnMouseExit()
 {
     if (IsSelectable)
     {
         if (jeu.reponseClicAttendu == Jeu.ReponseClicAttendu.PhaseTuileBonus_Clic_btnSupTuileBonus_Puis_Tuile)
         {
             effet = Effet.Transparant;
         }
     }
 }
Ejemplo n.º 4
0
 private void OnMouseEnter()
 {
     if (IsSelectable)
     {
         if (jeu.reponseClicAttendu == Jeu.ReponseClicAttendu.PhaseTuileBonus_Clic_btnSupTuileBonus_Puis_Tuile)
         {
             effet = Effet.Normal;
         }
     }
 }
Ejemplo n.º 5
0
        public static int Degats(Effet effet)
        {
            int degats   = 0;
            int resultat = JetDée(effet.typedee, effet.nbdee);

            resultat = resultat + effet.basevaleur;
            //resultat = (int)((resultat * (arme.GetDamage()+100))/100);
            degats = resultat;
            return(degats);
        }
Ejemplo n.º 6
0
    public override void copy(Effet ef)
    {
        EffetDegat e = (EffetDegat)ef;

        styleEffect = e.styleEffect;
        timeEffect  = e.timeEffect;
        duree       = e.duree;
        image       = e.image;
        pdd         = e.pdd;
        //return new EffetDegat();
    }
Ejemplo n.º 7
0
        /// <summary>
        /// Fonction qui retourne un Effet.
        /// </summary>
        /// <param name="query">Requête à effectuer sur la BD</param>
        /// <returns>Un Effet</returns>
        private static Effet Retrieve(string query)
        {
            Effet     resultat;
            DataSet   dsResultat;
            DataTable dtResultat;
            DataRow   drResultat;

            ConnectionBD = new MySqlConnexion();

            dsResultat = ConnectionBD.Query(query);
            dtResultat = dsResultat.Tables[0];
            drResultat = dtResultat.Rows[0];


            if ((int)drResultat["champEffetF"] != 99)
            {
                resultat = new Gain((string)drResultat["typeEffet"]
                                    , (int)drResultat["champEffetA"]
                                    , (int)drResultat["champEffetB"]
                                    , (int)drResultat["champEffetC"]
                                    , (int)drResultat["champEffetD"]
                                    , (int)drResultat["champEffetE"]
                                    , (int)drResultat["champEffetF"]
                                    );
            }
            else if ((int)drResultat["champEffetC"] != 99)
            {
                resultat = new Impact((string)drResultat["typeEffet"]
                                      , (int)drResultat["champEffetA"]
                                      , (int)drResultat["champEffetB"]
                                      , (int)drResultat["champEffetC"]
                                      );
            }
            else if ((int)drResultat["champEffetB"] != 99)
            {
                resultat = new Recyclage((string)drResultat["typeEffet"]
                                         , (int)drResultat["champEffetA"]
                                         , (int)drResultat["champEffetB"]
                                         );
            }
            else if ((int)drResultat["champEffetA"] != 99)
            {
                resultat = new Radiation((string)drResultat["typeEffet"]
                                         , (int)drResultat["champEffetA"]
                                         );
            }
            else
            {
                resultat = new Effet((string)drResultat["typeEffet"]);
            }

            return(resultat);
        }
Ejemplo n.º 8
0
    public override void copy(Effet ef)
    {
        EffetRetirePAPM e = (EffetRetirePAPM)ef;

        styleEffect = e.styleEffect;
        timeEffect  = e.timeEffect;
        duree       = e.duree;
        image       = e.image;
        pa          = e.pa;
        pm          = e.pm;
        //return new EffetDegat();
    }
Ejemplo n.º 9
0
        /// <summary>
        /// Fonction qui retourne toutes les cartes.
        /// </summary>
        /// <returns>Liste de toutes les cartes avec leurs effets.</returns>
        private static List <Carte> RetrieveAll(string query)
        {
            List <Carte> lstResultat = new List <Carte>();
            DataSet      dsResultat;
            DataTable    dtResultat;

            ConnectionBD = new MySqlConnexion();

            dsResultat = ConnectionBD.Query(query);
            dtResultat = dsResultat.Tables[0];

            foreach (DataRow dr in dtResultat.Rows)
            {
                Effet effetCarte = null;
                if (dr["idEffet"] != DBNull.Value)
                {
                    effetCarte = MySqlEffetService.RetrieveById((int)dr["idEffet"]);
                }
                if (dr["typeUnite"] != DBNull.Value) // TODO: vérifié si le if fonctionne sinon changé pour "null"
                {
                    lstResultat.Add(new Unite((int)dr["idCarte"]
                                              , (string)dr["nom"]
                                              , effetCarte
                                              , new Ressource((int)dr["coutCharronite"], (int)dr["coutBarilNucleaire"], (int)dr["coutAlainDollars"])
                                              , (int)dr["pointsAttaque"]
                                              , (int)dr["pointsDefense"]
                                              )
                                    );
                }
                else if (dr["pointsDefense"] != DBNull.Value) // TODO: vérifié si le if fonctionne sinon changé pour "null"
                {
                    lstResultat.Add(new Batiment((int)dr["idCarte"]
                                                 , (string)dr["nom"]
                                                 , effetCarte
                                                 , new Ressource((int)dr["coutCharronite"], (int)dr["coutBarilNucleaire"], (int)dr["coutAlainDollars"])
                                                 , (int)dr["pointsDefense"]
                                                 )
                                    );
                }
                else
                {
                    lstResultat.Add(new Gadget((int)dr["idCarte"]
                                               , (string)dr["nom"]
                                               , effetCarte
                                               , new Ressource((int)dr["coutCharronite"], (int)dr["coutBarilNucleaire"], (int)dr["coutAlainDollars"])
                                               )
                                    );
                }
            }
            return(lstResultat);
        }
Ejemplo n.º 10
0
 /// <summary>
 /// Test d'une carte.
 /// Avec sortie des résultats sur le fichier file.
 /// </summary>
 /// <param name="e"></param>
 /// <param name="compCarte"></param>
 /// <param name="file"></param>
 /// <param name="effetToDisplay"></param>
 /// <param name="numeroEffet"></param>
 void TestUneCarte(Effet e, Carte compCarte, StreamWriter file, string effetToDisplay, int numeroEffet)
 {
     // Iteration sur toutes les phases
     Debug.Log("On cree une carte");
     file.WriteLine("Effet : " + effetToDisplay);
     file.WriteLine("Numero de l'effet : " + numeroEffet);
     foreach (Player.Phases p in Enum.GetValues(typeof(Player.Phases)))
     {
         // Iteration sur si la carte vient d'être posée
         for (int i = 0; i < 2; i++)
         {
             // Si la carte vient d'être détruite
             for (int j = 0; j < 2; j++)
             {
                 // On vient de passer un nouveau Tour.
                 for (int k = 0; k < 2; k++)
                 {
                     // On crée des entités avec des états différents
                     foreach (Entite.State es in Enum.GetValues(typeof(Entite.State)))
                     {
                         // On crée des entités avec des natures differentes. s
                         foreach (Entite.Nature en in Enum.GetValues(typeof(Entite.Nature)))
                         {
                             // Changement de domination.
                             for (int l = 0; l < 2; l++)
                             {
                                 GameObject CarteCible = Instantiate(CartePrefab);
                                 CarteCible.AddComponent <Entite>();
                                 CarteCible.GetComponent <Entite>().EntiteState  = es;
                                 CarteCible.GetComponent <Entite>().EntiteNature = en;
                                 compCarte.GererConditions(e.AllConditionsEffet, _currentPhase: p, debut: i == 1, estMort: j == 1,
                                                           nouveauTour: (k == 1), Cible: CarteCible, changementDomination: (l == 1));
                                 file.WriteLine(
                                     "La carte vient d'être posée : " + (i == 1).ToString() + " \n" +
                                     "La carte vient de mourir : " + (j == 1).ToString() + " \n" +
                                     "On vient de passer à un nouveau Tour : " + (k == 1).ToString() + " \n" +
                                     "Caracteristiques de l'objet attaque : " + "\n" +
                                     "Etat " + es.ToString() + "\n" +
                                     "Nature " + en.ToString() + "\n" +
                                     "Changement de domination " + (l == 1).ToString() + "\n"
                                     );
                                 Destroy(CarteCible);
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 11
0
    private static Color GetColor(Effet effet)
    {
        switch (effet)
        {
        case Effet.Invisible: return(new Color(1, 1, 1, 0));

        case Effet.Transparant: return(new Color(1, 1, 1, 0.5f));

        case Effet.Gris: return(new Color(0.5f, 0.5f, 0.5f, 1));

        case Effet.Normal: return(new Color(1, 1, 1, 1));

        default: return(new Color(1, 1, 1, 1));
        }
    }
Ejemplo n.º 12
0
    public EffetCarte(CarteType ct)
    {
        Type = ct;
        if (Type == CarteType.Communauté)
        {
            Title  = "Vous recevez de l'argent";
            amount = Random.Range(10, 51);
            amount = amount * 1000;
            Text   = "Recevez " + amount;
        }
        else
        {
            int rand = Random.Range(0, 4);
            switch (rand)
            {
            case 0:
                effet = Effet.Bouger;
                Title = "Deplacement forcer";
                int id = Random.Range(0, 40);

                Text   = "Vous partez pour " + GameManager.instance.gs.Case[id].Nom;
                amount = id;
                break;

            case 1:
                effet  = Effet.Payer;
                Title  = " Visite de l'inspecteur des impots";
                amount = Random.Range(10, 31);
                amount = amount * 1000;
                Text   = " Vous n'avez pas déclarer quelque chose, payez " + amount;
                break;

            case 2:
                effet  = Effet.Recevoir;
                Title  = " Lotterie ";
                amount = Random.Range(10, 31);
                amount = amount * 1000;
                Text   = " Vous gagnez " + amount + " à la lotterie";
                break;

            case 3:
                Title = "Detournement de fond";
                Text  = "Vous vous faite attrapé pour detournement de fond, allé en prison 3 tour";
                break;
            }
        }
    }
Ejemplo n.º 13
0
    public void ajouteEffetCase(Effet e, Case ca, Personnage lanceur)
    {
        GameObject nobj = (GameObject)GameObject.Instantiate(e.image);

        nobj.transform.position   = new Vector3(ca.getX(), -ca.getY(), -2);
        nobj.transform.localScale = new Vector3(1f, 1f, 1f);
        nobj.transform.parent     = effectHolder;
        e.addComponent(nobj);
        Effet effet = nobj.GetComponent <Effet>();

        effet.copy(e);
        ca.Effet.Add(effet);
        effet.C       = ca;
        effet.Lanceur = lanceur;
        lanceur.effetLance.Add(effet);
        effet.InstanceImage = nobj;
    }
Ejemplo n.º 14
0
        public void EffacerEffet(Effet effet)
        {
            imPlusSante.Visible     = false;
            imMoinsSante.Visible    = false;
            imPlusSous.Visible      = false;
            imMoinsSous.Visible     = false;
            imPlusScolaire.Visible  = false;
            imMoinsScolaire.Visible = false;
            imPlusSocial.Visible    = false;
            imMoinsSocial.Visible   = false;

            foreach (Effet effet2 in Program.MaPartie.VieActuelle.Effets)
            {
                if (effet2.Actif == true)
                {
                    AfficherEffet(effet2);
                }
            }
        }
Ejemplo n.º 15
0
    public void ajouteEffetJoueur(Effet e, Case ca, Personnage lanceur)
    {
        GameObject nobj = (GameObject)GameObject.Instantiate(e.image);

        nobj.transform.position   = new Vector3(ca.getX(), -ca.getY(), -2);
        nobj.transform.localScale = new Vector3(1f, 1f, 1f);
        nobj.transform.parent     = ca.perso.gameObject.transform;
        e.addComponent(nobj);
        Effet effet = nobj.GetComponent <Effet>();

        effet.copy(e);
        effet.InstanceImage = nobj;
        effet.Victime       = ca.perso;
        effet.Lanceur       = lanceur;
        ca.perso.effetsRecu.Add(effet);
        lanceur.effetLance.Add(effet);
        if (effet.timeEffect == TimeEffect.Constant)
        {
            effet.applyEffect();
        }
    }
Ejemplo n.º 16
0
        public void AfficherEffet(Effet effet)
        {
            if (effet.EffetSante > 0)
            {
                imPlusSante.Visible = true;
            }
            else if (effet.EffetSante < 0)
            {
                imMoinsSante.Visible = true;
            }

            if (effet.EffetSocial > 0)
            {
                imPlusSocial.Visible = true;
            }
            else if (effet.EffetSocial < 0)
            {
                imMoinsSocial.Visible = true;
            }

            if (effet.EffetSous > 0)
            {
                imPlusSous.Visible = true;
            }
            else if (effet.EffetSous < 0)
            {
                imMoinsSous.Visible = true;
            }

            if (effet.EffetScolaire > 0)
            {
                imPlusScolaire.Visible = true;
            }
            else if (effet.EffetScolaire < 0)
            {
                imMoinsScolaire.Visible = true;
            }
        }
Ejemplo n.º 17
0
        // Fonctions principales

        public void EffetReponse(Reponse rep)
        {
            EffacerFait();

            // Test de la mort (effet carte)
            if (rep.MortId != 0)
            {
                carteActuelle = ((List <Carte>)Program.MaPartie.CartesSpeciales).Find(x => x.Id == rep.CarteSuivante);
                ((List <Mort>)Program.MaPartie.Morts).Find(x => x.Id == rep.MortId).Actif = true;
                Mourir();
                espion_Carte_Suivante = 1;
                return;
            }

            // Test de Fait de cogniticien
            if (rep.FaitId != 0)
            {
                if (Program.MaPartie.Faits[rep.FaitId].Actif == false)
                {
                    NouveauFait(((List <Fait>)Program.MaPartie.Faits).Find(x => x.Id == rep.FaitId));
                }
            }

            // Effet sur les jauges
            Program.MaPartie.VieActuelle.JaugeSante    += rep.EffetSante;
            Program.MaPartie.VieActuelle.JaugeSous     += rep.EffetSous;
            Program.MaPartie.VieActuelle.JaugeSocial   += rep.EffetSocial;
            Program.MaPartie.VieActuelle.JaugeScolaire += rep.EffetScolaire;
            AfficherJauge();

            // Effet à modifier
            //ATTENTION CE CODE NE FONCTIONNE QUE TANT QUIL NY A PAS DEFFET D'ID SUP A 9
            if (rep.ChgtEffet != "")
            {
                char[] chgtEffetChar = rep.ChgtEffet.ToCharArray();
                if (chgtEffetChar[0] == '+')
                {
                    Effet effet = ((List <Effet>)Program.MaPartie.VieActuelle.Effets).Find(x => x.Id == ((int)char.GetNumericValue(chgtEffetChar[1])));
                    effet.Actif = true;
                    AfficherEffet(effet);
                }
                if (chgtEffetChar[0] == '-')
                {
                    Effet effet = ((List <Effet>)Program.MaPartie.VieActuelle.Effets).Find(x => x.Id == ((int)char.GetNumericValue(chgtEffetChar[1])));
                    effet.Actif = false;
                    EffacerEffet(effet);
                }
            }

            // Objet à modifier
            if (rep.ChgtObjet != "")
            // Nouveau = "+id", Perte = "-id", Evolution = "-id1,+id2"
            {
                bool continuer = true;
                // Pour chaque objet
                string[] splitEsperluette = rep.ChgtObjet.Split(new char[] { '&' });
                Console.WriteLine("rep.ChgtObjet = " + rep.ChgtObjet + "\nComptes des différents objets à modifier : " + splitEsperluette.Count());
                foreach (string chgtObjetsString in splitEsperluette)
                {
                    continuer = true;
                    string[] splitVirgule = chgtObjetsString.Split(new char[] { ',' });
                    foreach (string chgtObjetString in splitVirgule)
                    {
                        if (continuer == true)
                        {
                            Console.Write("chgtObjetString = " + chgtObjetString);
                            char[] chgtObjetChar = chgtObjetString.ToCharArray();
                            continuer = ChangerObjet(chgtObjetChar);
                        }
                        Console.WriteLine(", continuer = " + continuer);
                    }
                }
            }

            //carte qu lance un event
            if (rep.DebutEvent != 0)
            {
                DeterminerCartesEvent(((List <Evenement>)Program.MaPartie.Events).Find(x => x.Id == rep.DebutEvent));
                carteActuelle         = CarteParmiEvent();
                espion_Carte_Suivante = 2;
                return;
            }
            // Test de mort (Jauge)
            int idMort = TestJaugeMort();

            if (idMort != -1)
            {
                carteActuelle         = ((List <Carte>)Program.MaPartie.CartesSpeciales).Find(x => x.Id == idMort);
                espion_Carte_Suivante = 3;
                return;
            }

            // La carte suivant immédiatement
            if (rep.CarteSuivante != 0)
            {
                carteActuelle         = ((List <Carte>)Program.MaPartie.CartesSpeciales).Find(x => x.Id == rep.CarteSuivante);
                espion_Carte_Suivante = 4;
                return;
            }

            // Fin des effets actifs AU PIF
            foreach (Effet effet in Program.MaPartie.VieActuelle.Effets)
            {
                if (effet.Actif == true)
                {
                    if (random.Next(1, 5) == 1)
                    {
                        effet.Actif = false;
                        EffacerEffet(effet);
                    }
                }
            }

            // Les cartes qui suivront bientôt
            if (rep.CarteAVenir != 0)
            {
                carteAVenir.Add(((List <Carte>)Program.MaPartie.CartesSpeciales).Find(x => x.Id == rep.CarteAVenir));
            }

            // Modification d'un bool de Cycle
            if (rep.BoolCycle != "")
            {
                char[] charBoolCycle = rep.BoolCycle.ToCharArray();

                if (charBoolCycle[1] != '3')
                {
                    if (charBoolCycle[0] == '+')
                    {
                        Program.MaPartie.VieActuelle.MettreVraiBoolCycle((int)charBoolCycle[1]);
                    }
                    else
                    {
                        Program.MaPartie.VieActuelle.MettreFauxBoolCycle((int)charBoolCycle[1]);
                    }
                }
                else // repas de famille
                {
                    // Il a refusé d'organiser
                    if (charBoolCycle[0] == '-')
                    {
                        Program.MaPartie.VieActuelle.NbRefusRepasFamille++;
                    }
                    if (Program.MaPartie.VieActuelle.NbRefusRepasFamille == 3)
                    {
                        carteAVenir.Remove(carteAVenir.Find(x => x.Id == 101));
                        carteAVenir.Add(((List <Carte>)Program.MaPartie.CartesSpeciales).Find(x => x.Id == 102));
                    }
                }
            }

            espion_Carte_Suivante = 5;
            carteActuelle         = ChoisirCarte();
        }
Ejemplo n.º 18
0
 public void Save(Effet effet)
 {
     Session.SaveOrUpdate(effet);
     Session.Flush();
 }
Ejemplo n.º 19
0
 private void Awake()
 {
     Debug.Log("on laod effet");
     effet = GetComponent <Effet>();
     print(effet);
 }
Ejemplo n.º 20
0
 public Item(string nom, string description, int cout, TypeElement element, Cible cible, Effet effet, int magnitude, int duree, int valeur)
     : base(nom, description, cout, element, cible, effet, magnitude, duree)
 {
     valeur_monetaire = valeur;
 }
Ejemplo n.º 21
0
 public static void Modif(GameObject btn, Tuile.Terrain terrain, Effet effet)
 {
     btn.GetComponent <Image>().sprite = Resources.Load <Sprite>("SpriteTuile" + terrain.ToString("g"));
     btn.GetComponent <Image>().color  = GetColor(effet);
 }
Ejemplo n.º 22
0
 public static void Modif(GameObject gameObject, Sprite s, Effet effet)
 {
     gameObject.GetComponent <Image>().sprite = s;
     gameObject.GetComponent <Image>().color  = GetColor(effet);
 }
Ejemplo n.º 23
0
 //Constructeur
 public Habilete(string nom, string description, int cout, TypeElement element, Cible cible, Effet effet, int magnitude, int duree)
 {
     this.nom         = nom;
     this.description = description;
     this.cout        = cout;
     this.element     = element;
     this.cible       = cible;
     this.effet       = effet;
     this.magnitude   = magnitude;
     this.duree       = duree;
 }
Ejemplo n.º 24
0
        public potion(Effet effet ,int nombrePointVie)
        {
            Random rnd = new Random();
            double tirage;
            this.effet = effet;
            this.nombrePointVie = nombrePointVie;
            if (this.effet == Effet.antipoison)
            {
                tirage = rnd.NextDouble();
                if (tirage <= 0.8)
                {
                    couleur = "verte";
                }
                else
                
                    if(tirage <= 0.9)
                {
                    couleur = "rouge";
                }
                    else
                        if (tirage <= 0.1)
                        {
                            couleur = "bleu";
                        }

            }
            if (this.effet == Effet.poison)
            {
                tirage = rnd.NextDouble();
                if (tirage <= 0.8)
                {
                    couleur = "rouge";
                }
                else

                    if (tirage <= 0.9)
                    {
                        couleur = "vert";
                    }
                    else
                        if (tirage <= 0.1)
                        {
                            couleur = "bleu";
                        }

            }
            if (this.effet == Effet.neutre)
            {
                tirage = rnd.NextDouble();
                if (tirage <= 0.8)
                {
                    couleur = "bleu";
                }
                else

                    if (tirage <= 0.9)
                    {
                        couleur = "rouge";
                    }
                    else
                        if (tirage <= 0.1)
                        {
                            couleur = "vert";
                        }

            }
        }