Example #1
0
 public SystemeDeJeu()
 {
     tourencours = 0;
     numeroDeTour = 1;
     listeDesJoueurs = new List<Armee>();
     waitForFinDeTour = false;
     mood = e_modeAction.Mouvement;
     conditionsDeVictoire = e_typeDePartie.Joute; // HO LA LA probleme resolu ? (Who said this ?)
     limiteDeTours = 0;
 }
Example #2
0
 //Loohy
 public void Initialize(string nomDeLaMap_, List<string> nomDesArmees_, List<int> difficultes_, List<int> camp_, List<Color> couleurs_,
     e_typeDePartie conditionsDeVictoire_, e_brouillardDeGuerre fog_, int tempsMax_, int limiteDeTours_ = 0)
 {
     Jackman = new HUD();
     Divers.telechargerMap(ref earthPenguin, nomDeLaMap_);
     earthPenguin.invisible();
     earthPenguin.fog = fog_;
     earthPenguin.viderVue();
     gameplay.initializeWithListedArmies(nomDesArmees_, difficultes_, camp_, couleurs_,
         earthPenguin, conditionsDeVictoire_, Jackman, limiteDeTours_);
     time = 0;
     lastUpdatesTime = 0;
     tempsMax = tempsMax_;
     earthPenguin.centrerSur(16, 16);
 }
        public void UpdateSpecial(GameTime gameTime, string nomDeLaMap_, List<string> nomDesArmees_, List<int> difficultes_, List<int> camp_, List<Color> couleurs_,
            e_typeDePartie conditionsDeVictoire_, e_brouillardDeGuerre fog_,int tempsMax_, int limiteDeTours_ = 0)
        {
            if (Contents.contientLaSouris(base.rect))
            {
                if (!een && Mouse.GetState().LeftButton == ButtonState.Pressed&&nomDeLaMap_!= "" && nomDesArmees_.Count>=2)
                {
                    MoteurSon.PlayFX("bouton");
                    Engine.scenes.Push(new ScenePartie(32, 32));
                    ((ScenePartie)Engine.scenes.Peek()).p.Initialize(nomDeLaMap_, nomDesArmees_, difficultes_, camp_, couleurs_, conditionsDeVictoire_, fog_, tempsMax_, limiteDeTours_);
                    een = true;
                }
            }

            if (Engine.scenes.Count == 0)
            {
                Game1.quitter = true;
            }
        }
Example #4
0
        public Unite(e_classe c_,e_typeUnite typeUnite_, Pouvoir SHORYUKEN_, Aura aura_,
            string nom_, int force_, int dexterite_, int constitution_, int defense_,
            int esprit_, int chance_, int vitesse_, int[] portee_, bool[] typedAttaque_, int numeroUnite_,
            int numeroArmee_, int mouvement_, int ia_ = 0, e_typeDePartie etat_ = e_typeDePartie.Joute)
        {
            metier = c_;
            debug = 0;
            nom = nom_;
            typeUnite = typeUnite_;
            SHORYUKEN = SHORYUKEN_;
            aura = aura_;
            profiteDuneAura = false;

            #region Carac
            force = force_;
            dexterite = dexterite_;
            constitution = constitution_;
            defense = defense_;
            esprit = esprit_;
            chance = chance_;
            vitesse = vitesse_;

            lvl = 1;
            xp = 0;

            mouvement = mouvement_;
            mouvementmax = mouvement_;
            CaracFromStats();

            portee = portee_;
            typedAttaque = typedAttaque_;
            points = 6 * defense + 5 * dexterite + 5 * chance + 3 * vitesse + 6 * constitution;
            bool attaP = false;
            bool attaM = false;
            float moy = 0;
            for (int po = 0; po < portee.Length; po++)
            {
                attaP = attaP || typedAttaque[po];
                attaM = attaM || (!typedAttaque[po] && portee[po] != 0);
                moy += portee[po];
            }
            moy /= 20f;
            if (attaM)
            {
                points += (int)(esprit * 7 * moy);
            }
            else
            {
                points += esprit * 3;
            }
            if (typeUnite == e_typeUnite.Elite)
            {
                points += 2 * esprit;
            }
            if (attaP)
            {
                points += (int)(force * 7 * moy);
            }
            else
            {
                points += force * 3;
            }
            points = (points * mouvementmax) / 80;
            #endregion

            mouvOrNot = true;
            attaqOrNot = true;

            numeroArmee = numeroArmee_;
            numeroUnite = numeroUnite_;

            i = 5 + numeroUnite;
            ivirtuel = i;
            j = 6 + numeroArmee;
            jvirtuel = j;

            r = new Random();

            alive = true;

            sousrect = new Rectangle(0, 0, 128, 128);
            Anim = 0;
            vitesseAnim = 0.025f;
            state = e_EtatAnim.repos1;
            jDepart = 0;
            iDepart = 0;
            estPasseParLa = new bool[32, 32];
            fileDeMouvements = new List<mouv>();
            nombreDeRotations = 0;

            een = true;

            image = c_.ToString();

            IA = new IntelligenceArtificielle(ia_, this);
            //Console.WriteLine(nom + " : " + points);

            porteTresor = false;
            estInvisible = false;
        }
Example #5
0
        //Loohy
        /*public void initialize(MoteurGraphique moteurgraphique_, e_typeDePartie conditionsDeVictoire_, HUD hud_, float limiteDeTours_ = 0)
        {
            numeroDeTour = 1;
            foreach (Armee item in listeDesJoueurs)
            {
                item.vider(moteurgraphique_.longueur, moteurgraphique_.largeur);
            }
            //TODO
            listeDesJoueurs[0].QG = new Vector2((int)(moteurgraphique_.longueur / 4), (int)(moteurgraphique_.largeur / 4));
            listeDesJoueurs[1].QG = new Vector2((int)((moteurgraphique_.longueur * 3) / 4), (int)((moteurgraphique_.largeur * 3) / 4));
            conditionsDeVictoire = conditionsDeVictoire_;
            #region Unites
            for (int m = 0; m < 2; m++)
            {
                switch (listeDesJoueurs[m].espece)
                {
                    case e_race.Fenrir:
                        AddUnite(m, e_classe.FenrirOkami, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.FenrirRailgun, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.FenrirDreadnought, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.FenrirWarBlade, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.FenrirWarBlade, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.FenrirTireur, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.FenrirEclaireur, listeDesJoueurs[m].difficulte);
                        break;
                    case e_race.Pandawan:
                        AddUnite(m, e_classe.PandawanSayan, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PandawanNinja, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PandawanSniper, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PandawanBushi, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PandawanYabusame, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PandawanCharDragon, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PandawanSokei, listeDesJoueurs[m].difficulte);
                        break;
                    case e_race.Krissa:
                        AddUnite(m, e_classe.ChefKrissa, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.Assassin, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.Abomination, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.Legionnaire, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.Maraudeur, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.Vermine, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.Vermine, listeDesJoueurs[m].difficulte);
                        break;
                    default:
                        AddUnite(m, e_classe.PingvinOdin, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PingvinThor, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PingvinWalkyrie, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PingvinWalkyrie, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PingvinLanceFlammes, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PingvinLanceFlammes, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PingvinChar, listeDesJoueurs[m].difficulte);
                        AddUnite(m, e_classe.PingvinUgin, listeDesJoueurs[m].difficulte);
                        break;
                }
            }
            #endregion
            pop(moteurgraphique_);
            hud_.Victory_ = false;
            hud_.time = 0;
            tresor_i = (moteurgraphique_.longueur / 2);
            tresor_j = (moteurgraphique_.largeur / 2);
            if (conditionsDeVictoire_ == e_typeDePartie.Tresor)
            {
                tresor_existe = true;
                moteurgraphique_.map[tresor_i, tresor_j].E_DecorArriere = e_Decorarriere.cratere;
                moteurgraphique_.Adapt();
            }
            else
            {
                tresor_existe = false;
            }
            if (conditionsDeVictoire_ == e_typeDePartie.Colline)
            {
                limiteDeTours = limiteDeTours_;
            }
            else
            {
                limiteDeTours = 0;
            }

            //voir les points
            //Classe kikoo = Classe.PingvinWalkyrie;
            //do
            //{
            //    armees[0].AddUnite(kikoo);
            //    kikoo++;
            //} while (kikoo != Classe.Overlord);
        }
        */
        //Loohy
        public void initializeWithListedArmies(List<string> nomDesArmees_, List<int> difficultes_, List<int> camp_, List<Color> couleurs_,
            MoteurGraphique moteurgraphique_,
            e_typeDePartie conditionsDeVictoire_, HUD hud_, float limiteDeTours_ = 0)
        {
            numeroDeTour = 1;
            listeDesJoueurs = new List<Armee>();
            for (int p = 0; p < nomDesArmees_.Count; p++)
            {
                listeDesJoueurs.Add(new Armee(p, e_race.Random, couleurs_[p], moteurgraphique_.longueur, moteurgraphique_.largeur, camp_[p]));
                listeDesJoueurs[p].ConvertFromList(Divers.obtenirList(nomDesArmees_[p]), difficultes_[p]);
                listeDesJoueurs[p].QG = moteurgraphique_.getBase(p);
                moteurgraphique_.QG(listeDesJoueurs[p].QG);
                moteurgraphique_.Adapt();
                listeDesJoueurs[p].pop(moteurgraphique_, this);
                listeDesJoueurs[p].couleur = couleurs_[p];
            }
            conditionsDeVictoire = conditionsDeVictoire_;
            //pop(moteurgraphique_);
            hud_.Victory_ = false;
            tresor_i = (moteurgraphique_.longueur / 2);
            tresor_j = (moteurgraphique_.largeur / 2);
            if (conditionsDeVictoire_ == e_typeDePartie.Tresor)
            {
                tresor_existe = true;
                moteurgraphique_.map[tresor_i, tresor_j].E_DecorArriere = e_Decorarriere.cratere;
                moteurgraphique_.Adapt();
            }
            else
            {
                tresor_existe = false;
            }
            if (conditionsDeVictoire_ == e_typeDePartie.Colline)
            {
                limiteDeTours = limiteDeTours_;
                moteurgraphique_.ruines(moteurgraphique_.longueur / 2, moteurgraphique_.largeur / 2);
                moteurgraphique_.Adapt();
            }
            else
            {
                limiteDeTours = 0;
            }
            tourencours = nomDesArmees_.Count - 1;
            int t = 0;
            bool een = true;
            FinDeTour(moteurgraphique_, hud_, ref t, ref een);
            //voir les points
            //Classe kikoo = Classe.PingvinWalkyrie;
            //do
            //{
            //    armees[0].AddUnite(kikoo);
            //    kikoo++;
            //} while (kikoo != Classe.Overlord);
        }