public Caracteristiques(EDefCaracteristique definition, string nom, ETypeCaracteristique type, int valeur, int id) : base(id)
 {
     this.definition = definition;
     this.nom        = nom;
     this.type       = type;
     this.valeur     = valeur;
 }
 public Caracteristiques(EDefCaracteristique definition,string nom,ETypeCaracteristique type,int valeur ,int id):base(id)
 {
     this.definition = definition;
     this.nom = nom;
     this.type = type;
     this.valeur = valeur;
 }
Exemple #3
0
 public CaracteristiqueWCF(Caracteristique caracteristique) : base(caracteristique)
 {
     this.def    = caracteristique.Definition;
     this.nom    = caracteristique.Nom;
     this.type   = caracteristique.Type;
     this.valeur = caracteristique.Valeur;
 }
Exemple #4
0
        public void playTestMatch()
        {
            Match        match  = data.getAllMatch()[0];
            PlayingMatch pMatch = new PlayingMatch(match);
            int          i      = 0;

            //Description match
            Console.Out.WriteLine("Match Test on {0}", match.Stade.Planete);
            Console.Out.WriteLine(match.Stade.ToString());

            Console.Out.WriteLine("{0} contre {1}", match.Jedi1.Nom, match.Jedi2.Nom);
            Console.Out.WriteLine(match.Jedi1.ToString());
            Console.Out.WriteLine(match.Jedi2.ToString());

            while (!pMatch.MatchOver)
            {
                // Ici utilisation d'un choix Automatique (aléatoire)
                EDefCaracteristique j1Caract = pMatch.automaticChoose();
                EDefCaracteristique j2Caract = pMatch.automaticChoose();

                pMatch.playTurn(j1Caract, j2Caract);
                Console.Out.WriteLine("--------------------------", i);
                Console.Out.WriteLine("Tour {0}", i);
                Console.Out.WriteLine("{0} utilise : {1}", match.Jedi1.Nom, j1Caract.ToString());
                Console.Out.WriteLine("{0} utilise : {1}", match.Jedi2.Nom, j2Caract.ToString());
                Console.Out.WriteLine("{0} inflige {1} degats a {2}", pMatch.WinnerJedi.Nom, pMatch.DamageInflicted, pMatch.LooserJedi.Nom);
                Console.Out.WriteLine("Point de vie restant a {0} : {1}", match.Jedi1.Nom, pMatch.PJedi1.HpJedi);
                Console.Out.WriteLine("Point de vie restant a {0} : {1}", match.Jedi2.Nom, pMatch.PJedi2.HpJedi);
                i++;
            }
            //Resultat
            Console.Out.WriteLine("Match termine, gagnant : {0}", match.JediVainqueur.ToString());
            Console.Out.WriteLine("({0} = {1}, {2} = {3})", match.Jedi1.Nom, match.Jedi1.Id, match.Jedi2.Nom, match.Jedi2.Id);
        }
 public Stade(int nb,string plan, EDefCaracteristique carAug, EDefCaracteristique carDim, int identifiant):base(identifiant)
 {
     nbPlace = nb;
     planete = plan;
     caractAugmentee = carAug;
     caractDiminuee = carDim;
 }
Exemple #6
0
        public void TestBDD_AjoutSupprCarac()
        {
            List <Caracteristique> lc = new List <Caracteristique>(data.getAllCaracteristic());
            // Création de la caractéristique
            int id = 42;
            EDefCaracteristique def   = EDefCaracteristique.Chance;
            String text               = "Carac ajoutée Jedi";
            ETypeCaracteristique type = ETypeCaracteristique.Jedi;
            int             val       = 20;
            Caracteristique carac     = new Caracteristique(id, def, text, type, val);

            // Modifications BDD
            Assert.IsFalse(data.getAllCaracteristic().Any(c => c.Id == id), "Cette caractéristique est déjà présente dans la BDD !");    // On vérifie que la caractéristique n'est pas déjà présente dans la BDD

            lc.Add(carac);
            data.updateCaracteristique(lc);

            Assert.IsTrue(data.getAllCaracteristic().Any(c => c.Id == id), "La caractéristique n'a pas été ajoutée");     // On vérifie que la caractéristique a bien été rajoutée
            Assert.AreEqual(data.getAllCaracteristic().Find(c => c.Id == id).Definition, def);
            Assert.AreEqual(data.getAllCaracteristic().Find(c => c.Id == id).Nom, text);
            Assert.AreEqual(data.getAllCaracteristic().Find(c => c.Id == id).Type, type);
            Assert.AreEqual(data.getAllCaracteristic().Find(c => c.Id == id).Valeur, val);

            lc.Remove(lc.Find(c => c.Id == id));
            data.updateCaracteristique(lc);

            Assert.IsFalse(data.getAllCaracteristic().Any(c => c.Id == id), "La caractéristique n'a pas été supprimée");    // On vérifie que la caractéristique a bien été supprimée
        }
        public Caracteristique convert()
        {
            EDefCaracteristique  def  = (EDefCaracteristique)this.Definition;
            ETypeCaracteristique type = (ETypeCaracteristique)this.Type;

            return(new Caracteristique(Id, def, this.Nom, type, this.Valeur));
        }
 public Caracteristique(int id, EDefCaracteristique definition, string nom, ETypeCarecteristique type, int valeur)
     : base(id)
 {
     Definition = definition;
     Nom        = nom;
     Type       = type;
     Valeur     = valeur;
 }
Exemple #9
0
 public Caracteristiques(EDefCaracteristique pDefinition, String pNom, ETypeCaracteristique pType, int pValeur, int pID)
 {
     ID         = pID;
     Definition = pDefinition;
     Nom        = pNom;
     Type       = pType;
     Valeur     = pValeur;
 }
Exemple #10
0
 public CaracteristiqueContract(int id, string nom, EDefCaracteristique definition, ETypeCaracteristique type, int valeur)
 {
     this.id         = id;
     this.nom        = nom;
     this.definition = definition;
     this.type       = type;
     this.valeur     = valeur;
 }
 /// <summary>
 /// Constructeur.
 /// </summary>
 /// <param name="id">Id de la caractéristique.</param>
 /// <param name="nom">Nom de la caractéristique.</param>
 /// <param name="definition">Caractéristique concernée.</param>
 /// <param name="type">Type de la caractéristique.</param>
 /// <param name="valeur">Valeur affectée à la caractéristique.</param>
 public Caracteristique(int id, string nom, EDefCaracteristique definition, ETypeCaracteristique type, int valeur)
     : base(id)
 {
     Nom = nom;
     Definition = definition;
     Type = type;
     Valeur = valeur;
 }
Exemple #12
0
 public Caracteristique(int id, EDefCaracteristique definition, string nom, ETypeCaracteristique type, int valeur)
 {
     this.Id = id;
     this.definition = definition;
     this.nom = nom;
     this.type = type;
     this.valeur = valeur;
 }
 public Caracteristiques(EDefCaracteristique pDefinition, String pNom, ETypeCaracteristique pType, int pValeur, int pID)
 {
     ID = pID;
     Definition = pDefinition;
     Nom = pNom;
     Type = pType;
     Valeur = pValeur;
 }
        public Caracteristique(EDefCaracteristique def, string _nom, ETypeCaracteristique _type, int _valeur)
        {
            countId++;
            Id = countId;

            definition = def;
            nom        = _nom;
            type       = _type;
            valeur     = _valeur;
        }
        public Caracteristique(EDefCaracteristique def, string _nom, ETypeCaracteristique _type, int _valeur)
        {
            countId++;
            Id = countId;

            definition = def;
            nom = _nom;
            type = _type;
            valeur = _valeur;
        }
 public Caracteristique(int _id,EDefCaracteristique def, string _nom, ETypeCaracteristique _type, int _valeur)
 {
     Id = _id;
     if (_id > countId)
     {
         countId = _id;
     }
     definition = def;
     nom = _nom;
     type = _type;
     valeur = _valeur;
 }
 public Caracteristique(int _id, EDefCaracteristique def, string _nom, ETypeCaracteristique _type, int _valeur)
 {
     Id = _id;
     if (_id > countId)
     {
         countId = _id;
     }
     definition = def;
     nom        = _nom;
     type       = _type;
     valeur     = _valeur;
 }
Exemple #18
0
        private RepShiFuMi shiFuMi(EDefCaracteristique chosenCaract1, EDefCaracteristique chosenCaract2)
        {
            RepShiFuMi vainqueurShiFuMi = RepShiFuMi.Null;

            if (chosenCaract1 == chosenCaract2)
            {
                vainqueurShiFuMi = RepShiFuMi.Egalite;
            }
            else
            {
                switch (chosenCaract1)
                {
                case EDefCaracteristique.Force:
                    vainqueurShiFuMi = RepShiFuMi.J1Gagnant;
                    if (chosenCaract2 == EDefCaracteristique.Chance)
                    {
                        vainqueurShiFuMi = RepShiFuMi.J2Gagnant;
                    }
                    break;

                case EDefCaracteristique.Chance:
                    vainqueurShiFuMi = RepShiFuMi.J1Gagnant;
                    if (chosenCaract2 == EDefCaracteristique.Defense)
                    {
                        vainqueurShiFuMi = RepShiFuMi.J2Gagnant;
                    }
                    break;

                case EDefCaracteristique.Defense:
                    vainqueurShiFuMi = RepShiFuMi.J1Gagnant;
                    if (chosenCaract2 == EDefCaracteristique.Force)
                    {
                        vainqueurShiFuMi = RepShiFuMi.J2Gagnant;
                    }
                    break;

                case EDefCaracteristique.Sante:
                    throw new Exception("Error : \"Caracteristique Sante\" chosen !");
                }
            }
            return(vainqueurShiFuMi);
        }
Exemple #19
0
        public void modCarac(int id, string nom, int valeur, EDefCaracteristique definition, ETypeCaracteristique type)
        {
            List <Caracteristique> listC = jtm.getAllJediCaracs();

            foreach (Caracteristique c in jtm.getAllStadeCaracs())
            {
                listC.Add(c);
            }

            Caracteristique carac = listC.Find(c => c.ID == id);

            if (nom != null)
            {
                carac.Nom = nom;
            }
            carac.Valeur     = valeur;
            carac.Definition = definition;
            carac.Type       = type;

            jtm.modCarac(carac);
        }
        public List <Caracteristique> getAllStadeCaracs()
        {
            List <Caracteristique> listCarac = new List <Caracteristique>();

            using (SqlConnection sqlConnection = new SqlConnection(m_connexionString))
            {
                SqlCommand sqlCommandCarac = new SqlCommand("SELECT id, nom, definition, type, valeur FROM dbo.caracteristique WHERE type='Stade'", sqlConnection);
                sqlConnection.Open();
                SqlDataReader sqlDataReaderCarac = sqlCommandCarac.ExecuteReader();

                while (sqlDataReaderCarac.Read())
                {
                    EDefCaracteristique  definition = (EDefCaracteristique)Enum.Parse(typeof(EDefCaracteristique), sqlDataReaderCarac.GetString(2));
                    ETypeCaracteristique type       = (ETypeCaracteristique)Enum.Parse(typeof(ETypeCaracteristique), sqlDataReaderCarac.GetString(3));

                    listCarac.Add(new Caracteristique(sqlDataReaderCarac.GetInt32(0), sqlDataReaderCarac.GetString(1), definition, type, sqlDataReaderCarac.GetInt32(4)));
                }

                sqlConnection.Close();
            }

            return(listCarac);
        }
        public List <Caracteristique> getStadeCaracs(Stade stade)
        {
            List <Caracteristique> listCarac = new List <Caracteristique>();

            using (SqlConnection sqlConnection = new SqlConnection(m_connexionString))
            {
                SqlCommand sqlCommandCarac = new SqlCommand("SELECT c.id, c.nom, c.definition, c.type, c.valeur FROM dbo.caracteristique c JOIN carac_stade cs ON cs.id_carac=c.id WHERE c.type='Stade' AND cs.id_stade=" + stade.ID, sqlConnection);
                sqlConnection.Open();
                SqlDataReader sqlDataReaderCarac = sqlCommandCarac.ExecuteReader();

                while (sqlDataReaderCarac.Read())
                {
                    EDefCaracteristique  definition = (EDefCaracteristique)Enum.Parse(typeof(EDefCaracteristique), sqlDataReaderCarac.GetString(2));
                    ETypeCaracteristique type       = (ETypeCaracteristique)Enum.Parse(typeof(ETypeCaracteristique), sqlDataReaderCarac.GetString(3));

                    listCarac.Add(new Caracteristique(sqlDataReaderCarac.GetInt32(0), sqlDataReaderCarac.GetString(1), definition, type, sqlDataReaderCarac.GetInt32(4)));
                }

                sqlConnection.Close();
            }

            return(listCarac);
        }
        // Le vainqueur est directement changé dans Match
        public void playTurn(EDefCaracteristique chosenCaract1, EDefCaracteristique chosenCaract2)
        {


            if (!MatchOver)
            {
                pJedi1.ChosenCaract = chosenCaract1;
                pJedi2.ChosenCaract = chosenCaract2;

                int scoreJ1 = 0;
                int scoreJ2 = 0;

                // 1 pour J1, 2 pour J2, 0 sinon
                RepShiFuMi vainqueurShiFuMi = 0;

                //Calcul de la valeur de score
                try
                {
                    scoreJ1 = computeScore(pJedi1);
                    scoreJ2 = computeScore(pJedi2);
                }
                catch (Exception e)
                {
                    throw e;
                }

                // Calcul du Shi-Fu-Mi
                try
                {
                    vainqueurShiFuMi = shiFuMi(pJedi1.ChosenCaract, pJedi2.ChosenCaract);
                }
                catch (Exception e)
                {
                    throw e;
                }

                // Calcul final du score
                if (vainqueurShiFuMi == RepShiFuMi.J1Gagnant)
                {
                    scoreJ1 *= multiplicator;
                }
                if (vainqueurShiFuMi == RepShiFuMi.J2Gagnant)
                {
                    scoreJ2 *= multiplicator;
                }

                // Calcul vainqueur

                // Par defaut J1 GAGNE et J2 PERD
                damageInflicted = 0;
                winnerJedi = match.Jedi1;
                looserJedi = match.Jedi2;

                if (scoreJ1 > scoreJ2)
                {
                    damageInflicted = scoreJ1 - scoreJ2;
                    winnerJedi = match.Jedi1;
                    looserJedi = match.Jedi2;

                    pJedi2.HpJedi -= damageInflicted;
                }
                else if (scoreJ1 < scoreJ2)
                {
                    damageInflicted = scoreJ2 - scoreJ1;
                    looserJedi = match.Jedi1;
                    winnerJedi = match.Jedi2;

                    pJedi1.HpJedi -= damageInflicted;
                }

                //Le dernier vainqueur du match sera donc le vainqueur
                if (pJedi1.HpJedi <= 0 || pJedi2.HpJedi <= 0)
                {
                    matchOver = true;
                    match.JediVainqueur = winnerJedi;
                }

            }
            else
            {
                throw new Exception("Match already over !");
            }
        }
        private RepShiFuMi shiFuMi(EDefCaracteristique chosenCaract1, EDefCaracteristique chosenCaract2)
        {
            RepShiFuMi vainqueurShiFuMi = RepShiFuMi.Null;
            if (chosenCaract1 == chosenCaract2)
            {
                vainqueurShiFuMi = RepShiFuMi.Egalite;
            }
            else
            {
                switch (chosenCaract1)
                {
                    case EDefCaracteristique.Force:
                        vainqueurShiFuMi = RepShiFuMi.J1Gagnant;
                        if (chosenCaract2 == EDefCaracteristique.Chance)
                        {
                            vainqueurShiFuMi = RepShiFuMi.J2Gagnant;
                        }
                        break;

                    case EDefCaracteristique.Chance:
                        vainqueurShiFuMi = RepShiFuMi.J1Gagnant;
                        if (chosenCaract2 == EDefCaracteristique.Defense)
                        {
                            vainqueurShiFuMi = RepShiFuMi.J2Gagnant;
                        }
                        break;

                    case EDefCaracteristique.Defense:
                        vainqueurShiFuMi = RepShiFuMi.J1Gagnant;
                        if (chosenCaract2 == EDefCaracteristique.Force)
                        {
                            vainqueurShiFuMi = RepShiFuMi.J2Gagnant;
                        }
                        break;

                    case EDefCaracteristique.Sante:
                        throw new Exception("Error : \"Caracteristique Sante\" chosen !");
                }
            }
            return vainqueurShiFuMi;
        }
        public void AddCarac(string nom, int valeur, EDefCaracteristique definition, ETypeCaracteristique type)
        {
            Caracteristique carac = new Caracteristique(0, nom, definition,type, valeur);

            jtm.addCarac(carac);
        }
Exemple #25
0
        // Le vainqueur est directement changé dans Match
        public void playTurn(EDefCaracteristique chosenCaract1, EDefCaracteristique chosenCaract2)
        {
            if (!MatchOver)
            {
                pJedi1.ChosenCaract = chosenCaract1;
                pJedi2.ChosenCaract = chosenCaract2;

                int scoreJ1 = 0;
                int scoreJ2 = 0;

                // 1 pour J1, 2 pour J2, 0 sinon
                RepShiFuMi vainqueurShiFuMi = 0;

                //Calcul de la valeur de score
                try
                {
                    scoreJ1 = computeScore(pJedi1);
                    scoreJ2 = computeScore(pJedi2);
                }
                catch (Exception e)
                {
                    throw e;
                }

                // Calcul du Shi-Fu-Mi
                try
                {
                    vainqueurShiFuMi = shiFuMi(pJedi1.ChosenCaract, pJedi2.ChosenCaract);
                }
                catch (Exception e)
                {
                    throw e;
                }

                // Calcul final du score
                if (vainqueurShiFuMi == RepShiFuMi.J1Gagnant)
                {
                    scoreJ1 *= multiplicator;
                }
                if (vainqueurShiFuMi == RepShiFuMi.J2Gagnant)
                {
                    scoreJ2 *= multiplicator;
                }

                // Calcul vainqueur

                // Par defaut J1 GAGNE et J2 PERD
                damageInflicted = 0;
                winnerJedi      = match.Jedi1;
                looserJedi      = match.Jedi2;

                if (scoreJ1 > scoreJ2)
                {
                    damageInflicted = scoreJ1 - scoreJ2;
                    winnerJedi      = match.Jedi1;
                    looserJedi      = match.Jedi2;

                    pJedi2.HpJedi -= damageInflicted;
                }
                else if (scoreJ1 < scoreJ2)
                {
                    damageInflicted = scoreJ2 - scoreJ1;
                    looserJedi      = match.Jedi1;
                    winnerJedi      = match.Jedi2;

                    pJedi1.HpJedi -= damageInflicted;
                }

                //Le dernier vainqueur du match sera donc le vainqueur
                if (pJedi1.HpJedi <= 0 || pJedi2.HpJedi <= 0)
                {
                    matchOver           = true;
                    match.JediVainqueur = winnerJedi;
                }
            }
            else
            {
                throw new Exception("Match already over !");
            }
        }
        public void modCarac(int id, string nom, int valeur, EDefCaracteristique definition, ETypeCaracteristique type)
        {
            List<Caracteristique> listC = jtm.getAllJediCaracs();

            foreach (Caracteristique c in jtm.getAllStadeCaracs())
            {
                listC.Add(c);
            }

            Caracteristique carac = listC.Find(c => c.ID == id);

            if(nom != null)
            {
                carac.Nom = nom;
            }
            carac.Valeur = valeur;
            carac.Definition = definition;
            carac.Type = type;

            jtm.modCarac(carac);
        }
 /// <summary>
 /// Adapte un EDefCaracteristique en EDefCaracteristique Contract.
 /// </summary>
 /// <param name="def">EDefCaracteristique à adapter.</param>
 /// <returns>EDefCaracteristique contract.</returns>
 public static EDefCaracteristiqueContract fromDefCaracteristique(EDefCaracteristique def)
 {
     switch (def)
     {
         case EDefCaracteristique.Chance:
             return EDefCaracteristiqueContract.Chance;
         case EDefCaracteristique.Defense:
             return EDefCaracteristiqueContract.Defense;
         case EDefCaracteristique.Force:
             return EDefCaracteristiqueContract.Force;
         case EDefCaracteristique.Sante:
             return EDefCaracteristiqueContract.Sante;
         default:
             return EDefCaracteristiqueContract.Chance;
     }
 }
Exemple #28
0
        public void AddCarac(string nom, int valeur, EDefCaracteristique definition, ETypeCaracteristique type)
        {
            Caracteristique carac = new Caracteristique(0, nom, definition, type, valeur);

            jtm.addCarac(carac);
        }