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; }
//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; } }
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; }
//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); }