public static void CollisionPersoDeplacement(Carte mapManager, Joueur perso)
        {
            perso.blocage_haut = false;
            perso.blocage_bas = false;
            perso.blocage_gauche = false;
            perso.blocage_droit = false;

            foreach (List<Rectangle> rectangleligne in mapManager.collision)
            {
                foreach (Rectangle rectangle in rectangleligne)
                {
                    if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(perso.collisionhaut))
                    {
                        perso.blocage_haut = true;
                    }
                    if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(perso.collisionbas))
                    {
                        perso.blocage_bas = true;
                    }
                    if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(perso.collisiongauche))
                    {
                        perso.blocage_gauche = true;
                    }
                    if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(perso.collisiondroite))
                    {
                        perso.blocage_droit = true;
                    }
                }
            }
        }
Пример #2
0
        public void Update(GameManager gameManager, Menu menu, Carte map)
        {
            if (nouveaujeu == false && gameManager.Etat == GameManager.etat.NouveauJeuIntro)
            {
                sonmanager.Stop();
                sonmanager = sons[5].CreateInstance();
                sonmanager.IsLooped = true;
                sonmanager.Play();
                nouveaujeu = true;
            }

            if (jeu == false && gameManager.Etat == GameManager.etat.InGame)
            {
                jeu = true;
            }

            if (!menu.pauseactive)
            {
                if (menu.sound == Menu.Son.On && sonmanager.State == SoundState.Paused)
                {
                    sonmanager.Play();
                }

                if (menu.sound == Menu.Son.Off && sonmanager.State == SoundState.Playing)
                {
                    sonmanager.Pause();
                }
            }

            if(menu.pauseactive)
            {
                if (sonmanager.State == SoundState.Playing)
                    sonmanager.Pause();
            }
        }
Пример #3
0
 public void Teleportation(Joueur joueur, Carte carte, GameWindow window, GestionTeleportation gestion_teleportation, EcranChargement ecran_chargement)
 {
     if (!gestion_teleportation.Transition_active && Coordonnees.Intersects(new Rectangle((int)joueur.centre_joueur.X - 20, (int)joueur.centre_joueur.Y - 20, 40, 70)))
     {
         gestion_teleportation.Transition_active = true;
         ecran_chargement.transition = true;
         carte.Chargement(Destination);
         joueur.Positionnement(xdestination, ydestination);
     }
 }
Пример #4
0
        public static void CollisionEnnemiDeplacement(Carte mapManager, Ennemi ennemi)
        {
            ennemi.blocage_haut = false;
            ennemi.blocage_bas = false;
            ennemi.blocage_gauche = false;
            ennemi.blocage_droit = false;

            foreach (List<Rectangle> rectangleligne in mapManager.collision)
            {
                foreach (Rectangle rectangle in rectangleligne)
                {
                    if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisionhaut))
                    {
                        ennemi.blocage_haut = true;
                    }
                    if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisionbas))
                    {
                        ennemi.blocage_bas = true;
                    }
                    if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisiongauche))
                    {
                        ennemi.blocage_gauche = true;
                    }
                    if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisiondroite))
                    {
                        ennemi.blocage_droit = true;
                    }
                }
            }

            foreach (List<Rectangle> rectangleligne in mapManager.murs.collision)
            {
                foreach (Rectangle rectangle in rectangleligne)
                {
                    if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisionhaut))
                    {
                        ennemi.blocage_haut = true;
                    }
                    if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisionbas))
                    {
                        ennemi.blocage_bas = true;
                    }
                    if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisiongauche))
                    {
                        ennemi.blocage_gauche = true;
                    }
                    if (new Rectangle(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height).Intersects(ennemi.collisiondroite))
                    {
                        ennemi.blocage_droit = true;
                    }
                }
            }
        }
Пример #5
0
        public void Affichage(Carte carte, Joueur joueur, SpriteBatch spriteBatch)
        {
            for (int i = y / 40; i < carte.carte.Count; i++)
            {
                for (int j = x / 40; j < carte.carte[i].Count && i < (largeur_ecran + 40) / 40; j++)
                {
                    carte.AffichageCase(40 * j - x, 40 * i - y, spriteBatch, carte.carte[i][j]);
                }
            }

            if (affichage_collision)
            {
                foreach (List<Rectangle> rect_ligne in carte.collision)
                {
                    foreach (Rectangle rect in rect_ligne)
                    {
                        spriteBatch.Draw(texture_collision, new Rectangle(rect.X - x, rect.Y - y, rect.Width, rect.Height), Color.White);
                    }
                }
            }

            joueur.Draw(spriteBatch);
        }
Пример #6
0
        public void Affichage(Carte carte, Joueur joueur, SpriteBatch spriteBatch, Environnement environnement, EcranChargement ecranChargement, GestionTeleportation gestion_transition, Histoire histoire, KeyboardState clavier)
        {
            if (ecranChargement.affichage_ecran)
            {
                for (int i = 0; i < carte.carte.Count; i++)
                {
                    for (int j = 0; j < carte.carte[i].Count; j++)
                    {
                        carte.AffichageCase(40 * j - x, 40 * i - y, spriteBatch, carte.carte[i][j], environnement, joueur, new Vector2(j * 40, i * 40));
                    }
                }
            }

            carte.gestion_objet.Draw(spriteBatch, x, y, environnement);
            carte.murs.AffichageCase_Mur(x, y, spriteBatch, joueur, new Color(environnement.ambient, environnement.ambient, environnement.ambient));
            carte.gestion_ennemis.Draw(spriteBatch, x, y, environnement);

            if (affichage_collision)
            {
                foreach (List<Rectangle> rect_ligne in carte.collision)
                {
                    foreach (Rectangle rect in rect_ligne)
                    {
                        spriteBatch.Draw(texture_collision, new Rectangle(rect.X - x, rect.Y - y, rect.Width, rect.Height), Color.White);
                    }
                }

                carte.gestionTeleportation.Draw(spriteBatch, x, y);

            }

            joueur.Draw(spriteBatch, environnement, 0, 0);

            carte.murs.AffichageMur_DevantJoueur(x, y, spriteBatch, joueur, new Color(environnement.ambient, environnement.ambient, environnement.ambient));

            histoire.Draw(spriteBatch, x, y, clavier);
        }
        public void TestTeleportation(Carte map, Joueur joueur, GameWindow window, EcranChargement ecran_chargement, Gestionnaire_son gestion_son)
        {
            if (compteur_optimisation == 0)
            {
                if (liste_teleporteur.Count > 0)
                {
                    foreach (Teleporteur teleporteur in liste_teleporteur)
                    {
                        teleporteur.Teleportation(joueur, map, window, this, ecran_chargement, gestion_son);
                    }
                }
            }

            compteur_optimisation++;

            compteur_optimisation %= 40;
        }
Пример #8
0
        public void Update(Joueur joueur, Carte carte, KeyboardState clavier)
        {
            #region Affichage collision
            if (clavier.IsKeyDown(Keys.F4))
            {
                touchecol = true;
            }

            if (clavier.IsKeyUp(Keys.F4) && touchecol)
            {
                touchecol = false;
                affichage_collision = !affichage_collision;
            }
            #endregion

            #region Affichage collision joueur
            if (clavier.IsKeyDown(Keys.F3))
            {
                touchecol_joueur = true;
            }

            if (clavier.IsKeyUp(Keys.F3) && touchecol_joueur)
            {
                touchecol_joueur = false;
                affichage_collision_joueur = !affichage_collision_joueur;
            }
            #endregion

            if (!animationactive)
            {
                if (carte.largeur <= largeur_ecran)
                {
                    x = -(largeur_ecran - carte.largeur) / 2;
                }

                else if (joueur.centre_joueur.X >= carte.largeur - largeur_ecran / 2 && joueur.centre_joueur.X <= carte.largeur)
                {
                    x = carte.largeur - largeur_ecran;
                }

                else if (joueur.centre_joueur.X <= largeur_ecran / 2 && joueur.centre_joueur.X >= 0)
                {
                    x = 0;
                }

                else
                {
                    x = (int)(joueur.centre_joueur.X - largeur_ecran / 2);
                }

                if (carte.hauteur <= hauteur_ecran)
                {
                    y = 0;
                }

                else if (joueur.centre_joueur.Y <= hauteur_ecran / 2 && joueur.centre_joueur.Y >= 0 || carte.hauteur <= hauteur_ecran)
                {
                    y = 0;
                }
                else if (joueur.centre_joueur.Y >= carte.hauteur - hauteur_ecran / 2 && joueur.centre_joueur.Y <= carte.hauteur)
                {
                    y = carte.hauteur - hauteur_ecran;
                }
                else
                {
                    y = (int)(joueur.centre_joueur.Y - hauteur_ecran / 2);
                }

            }
        }
Пример #9
0
        public void Update(int Xperso, int Yperso, ref bool combat,Carte carte, Joueur joueur)
        {
            compteur++;
            compteur %= 30;

            combat = false;
            for (int i = 0; i < ennemis.Count; i++)
            {
                ennemis[i].Update(Xperso, Yperso, ref combat, joueur);
                Gestionnaire_collision.CollisionEnnemiDeplacement(carte, ennemis[i]);

                for (int j = 0; j < ennemis[i].listeSorts.listeSorts.Count; j++)
                {
                    if (ennemis[i].listeSorts.listeSorts[j].collision.Intersects(joueur.rectangle))
                    {
                        joueur.vie -= ennemis[i].listeSorts.listeSorts[j].puissance;
                        ennemis[i].listeSorts.listeSorts[j].sortLance = false;
                    }

                }
                for (int k = 0; k < joueur.gestionSort.listeSorts.Count; k++)
                    {
                        if (joueur.gestionSort.listeSorts[k].collision.Intersects(ennemis[i].rect[0,0]))
                        {
                            ennemis[i].vie -= joueur.gestionSort.listeSorts[k].puissance;
                            joueur.gestionSort.listeSorts[k].sortLance = false;
                        }
                    }

                if (compteur == 0 && ennemis[i].rect[0, 0].Intersects(joueur.rectangle))
                    joueur.vie -= ennemis[i].force;

                if (joueur.vie <= 0)
                    joueur.vie = 0;

                if (ennemis[i].vie<=0)
                {
                    ennemis.RemoveAt(i);
                }
            }
        }
Пример #10
0
        public void Update(KeyboardState clavier, MouseState souris, Curseur curseur, GameManager gameManager, Game1 game1, Carte mapManager, Joueur joueur, GameWindow window, ContentManager content)
        {
            #region langue
            if (langue == Langue.Francais)
            {
                solo = "Solo";
                multi = "Multijoueur";
                option = "Options";
                quitter = "Quitter";
                son = "Son: ";
                language = "Langue: ";
                nomlangue = "Français";
                nouvjeu = "Nouvelle partie";
                charge = "Charger partie";
                homme = "Homme";
                fille = "Femme";
                questionsexe = "Que voulez-vous être?";
                reprendre = "Reprendre";
                claviertype = "Type du clavier: ";
                player = "Nom du joueur: ";
                sauvegarder = "Sauvegarder";
                emplacementlibre = "Emplacement libre";
                progression_texte = "Progression: ";
                sauvegarde_succes = "Sauvegarde effectuée avec succès!";
                #region Editeur de carte
                editeur = "Editeur de carte";
                nouvellecarte = "Nouvelle carte";
                modifiercarte = "Modifier carte";
                questiontaillecarte = "Quel est la taille de la carte?";
                largeurcarte = "Largeur: ";
                hauteurcarte = "Hauteur: ";
                creercarte = "Créer carte";
                quellecarte = "Quelle carte voulez-vous modifier?";
                #endregion

            }
            else
            {
                solo = "Solo";
                multi = "Multiplayer";
                option = "Settings";
                quitter = "Exit";
                son = "Sound: ";
                language = "Language: ";
                nomlangue = "English";
                nouvjeu = "New game";
                charge = "Load game";
                homme = "Male";
                fille = "Female";
                questionsexe = "What do you want to be?";
                reprendre = "Resume";
                claviertype = "Keyboard configuration: ";
                player = "Player's name: ";
                sauvegarder = "Save";
                emplacementlibre = "Empty slot";
                progression_texte = "Progress: ";
                sauvegarde_succes = "Successfully saved!";

                #region Editeur de carte
                    editeur = "Map editor";
                    nouvellecarte = "New map";
                    modifiercarte = "Modify map";
                    questiontaillecarte = "What's the size of the map?";
                    largeurcarte = "Width: ";
                    hauteurcarte = "Heigth: ";
                    creercarte = "Create map";
                    quellecarte = "What map do want to modify?";
                #endregion

            }

            plangue = language + nomlangue;
            #endregion

            #region Son
            if (sound == Son.On)
                sonetat = "On";
            else
                sonetat = "Off";
            pson = son + sonetat;
            #endregion

            #region menu
            if (mode == Mode.Menu)
            {
                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 5;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    if (choix >= 6)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                #region validation

                if (clavier.IsKeyDown(Keys.Enter))
                {
                    clavierentrer = true;
                }
                if (clavierentrer && clavier.IsKeyUp(Keys.Enter))
                {
                    if (choix == 1)
                    {
                        changement = true;
                        rectselecteur = new Rectangle(10, 60, 40, 30);
                        choix = 1;
                        mode = Mode.Solo;
                    }

                    if (choix == 3)
                    {
                        choix = 1;
                        rectselecteur = new Rectangle(10, 60, 40, 30);
                        changement = true;
                        mode = Mode.Choixediteurdemap;
                    }

                    if (choix == 4)
                    {
                        choix = 1;
                        rectselecteur = new Rectangle(10, 60, 40, 30);
                        changement = true;
                        mode = Mode.Option;
                    }
                    if (choix == 5)
                        game1.Exit();

                    clavierentrer = false;
                }
                #endregion
            }
            #endregion

            #region option
            if (mode == Mode.Option)
            {
                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 3;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    if (choix >= 4)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                #region Validation
                if (mode == Mode.Option)
                {
                    if (clavier.IsKeyDown(Keys.Enter))
                    {
                        clavierentrer = true;
                    }

                    if (clavier.IsKeyUp(Keys.Enter) && clavierentrer)
                    {
                        if (choix == 1 && !changement)
                        {
                            if (sound == Son.On)
                                sound = Son.Off;
                            else
                                sound = Son.On;
                        }

                        if (choix == 2)
                        {
                            if (langue == Langue.Francais)
                                langue = Langue.Anglais;
                            else
                                langue = Langue.Francais;
                        }

                        if (choix == 3)
                        {
                            if(clavierType == ClavierType.AZERTY)
                                clavierType = ClavierType.QWERTY;
                            else
                                clavierType = ClavierType.AZERTY;
                        }
                        clavierentrer = false;
                    }
                }
                #endregion

                if (clavier.IsKeyDown(Keys.Escape))
                {
                    if (gameManager.Etat == GameManager.etat.Menu)
                    {
                        mode = Mode.Menu;
                    }
                    if (gameManager.Etat == GameManager.etat.Pause)
                    {
                        mode = Mode.Pause;
                    }
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                }

                if (clavier.IsKeyUp(Keys.Enter))
                    changement = false;
            }
            #endregion

            #region Solo
            if (mode == Mode.Solo)
            {
                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 2;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    if (choix >= 3)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                #region Validation
                if (mode == Mode.Solo)
                {
                    if (clavier.IsKeyDown(Keys.Enter))
                    {
                        clavierentrer = true;
                    }

                    if (clavier.IsKeyUp(Keys.Enter) && clavierentrer)
                    {
                        if (choix == 1 && !changement)
                        {
                            mode = Mode.NouveauJeu;
                            changement = true;
                        }

                        if (choix == 2)
                        {
                            mode = Mode.ChargerPartie;
                            changement = true;
                            choix = 1;
                        }
                        clavierentrer = false;
                    }
                }
                #endregion

                if (clavier.IsKeyDown(Keys.Escape) && !changement)
                {
                    mode = Mode.Menu;
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                }

                if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape))
                    changement = false;
            }
            #endregion

            #region NouveauJeu
            if (mode == Mode.NouveauJeu)
            {
                #region positionchoix
                    #region Haut
                        if (!clavierhaut)
                        {
                            if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                            {
                                clavierhaut = true;
                            }
                        }

                        if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                        {
                            chgmtsexe = false;
                            choix--;
                            clavierentrer = false;
                            clavierhaut = false;
                            if (choix <= 0)
                                choix = 2;
                        }
                    #endregion

                    #region Bas
                            if (!clavierbas)
                            {
                                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                                {
                                    clavierbas = true;
                                }
                            }

                            if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                            {
                                chgmtsexe = false;
                                choix++;
                                clavierbas = false;
                                clavierentrer = false;
                                if (choix >= 3)
                                    choix = 1;
                            }
                        #endregion

                    rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                if(choix == 1)
                    nomjoueur.Update(Keyboard.GetState());

                #region validation

                if (clavier.IsKeyDown(Keys.Enter) && !changement)
                {
                    clavierentrer = true;
                }

                if (clavier.IsKeyDown(Keys.Left) || clavier.IsKeyDown(Keys.Right))
                    chgmtsexe = true;

                if (choix == 2 && chgmtsexe && (clavier.IsKeyUp(Keys.Left) && clavier.IsKeyUp(Keys.Right)))
                {
                    if (joueur.sexe == Joueur.Sexe.homme)
                    {
                        joueur.sexe = Joueur.Sexe.femme;
                        choixsexeee = Joueur.Sexe.femme;
                    }
                    else
                    {
                        joueur.sexe = Joueur.Sexe.homme;
                        choixsexeee = Joueur.Sexe.homme;
                    }

                    chgmtsexe = false;
                }

                if (clavierentrer && clavier.IsKeyUp(Keys.Enter))
                {
                    joueur.nomdujoueur = nomjoueur.texte;
                    joueur.LoadContent(content);
                    GestionJeu.NouveauJeu(mapManager, joueur, window);
                    gameManager.Etat = GameManager.etat.NouveauJeuIntro;
                    clavierentrer = false;
                }
                #endregion

                if (clavier.IsKeyDown(Keys.Escape) && !changement)
                {
                    mode = Mode.Solo;
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                    changement = true;
                }

                if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape))
                    changement = false;
            }
            #endregion

            #region Choix Partie
            if (mode == Mode.ChargerPartie)
            {
                #region positionchoix
                #region Haut
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierentrer = false;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 3;
                }
                #endregion

                #region Bas
                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    clavierentrer = false;
                    if (choix >= 4)
                        choix = 1;
                }
                #endregion

                rectselecteur = new Rectangle(10, 20 + choix * 80 - 40, 40, 30);
                #endregion

                #region validation

                if (clavier.IsKeyDown(Keys.Enter) && !changement)
                {
                    clavierentrer = true;
                }
                if (clavierentrer && clavier.IsKeyUp(Keys.Enter))
                {
                    if (choix == 1 && sauvegardes.sauvegardes[0].etat == GestionSauvegarde.TypeSauvegarde.PartieSauvegarde)
                    {
                        joueur.nomdujoueur = sauvegardes.sauvegardes[0].nomdujoueur;
                        joueur.sexe = sauvegardes.sauvegardes[0].sexe;

                        for (int i = 0; i < joueur.inventaire.inventaire.GetLength(0); i++)
                        {
                            for (int j = 0; j < joueur.inventaire.inventaire.GetLength(1); j++)
                            {
                                switch (sauvegardes.sauvegardes[0].id_objet[i, j])
                                {
                                    case 1:
                                        joueur.inventaire.inventaire[i, j] = new Item("Potion de vie", Item.type_objet.Potion_de_vie);
                                        break;
                                    case 2:
                                        joueur.inventaire.inventaire[i, j] = new Item("Potion de mana", Item.type_objet.Potion_de_mana);
                                        break;
                                    case 3:
                                        joueur.inventaire.inventaire[i, j] = new Item("Larme de dragon", Item.type_objet.Larme_de_dragon);
                                        break;
                                    default:

                                        break;
                                }
                                joueur.inventaire.quantitesObjets[i, j] = sauvegardes.sauvegardes[0].quantite_objet[i, j];
                            }
                        }

                        joueur.LoadContent(content);
                        GestionJeu.ChargerJeu(mapManager, sauvegardes.sauvegardes[0].carte.ToString(), sauvegardes.sauvegardes[0].x - 20, sauvegardes.sauvegardes[0].y + 50, joueur, window);
                        gameManager.Etat = GameManager.etat.InGame;
                        clavierentrer = false;
                    }
                    if (choix == 2 && sauvegardes.sauvegardes[1].etat == GestionSauvegarde.TypeSauvegarde.PartieSauvegarde)
                    {
                        joueur.nomdujoueur = sauvegardes.sauvegardes[1].nomdujoueur;
                        joueur.sexe = sauvegardes.sauvegardes[1].sexe;

                        for (int i = 0; i < joueur.inventaire.inventaire.GetLength(0); i++)
                        {
                            for (int j = 0; j < joueur.inventaire.inventaire.GetLength(1); j++)
                            {
                                switch (sauvegardes.sauvegardes[1].id_objet[i, j])
                                {
                                    case 1:
                                        joueur.inventaire.inventaire[i, j] = new Item("Potion de vie", Item.type_objet.Potion_de_vie);
                                        break;
                                    case 2:
                                        joueur.inventaire.inventaire[i, j] = new Item("Potion de mana", Item.type_objet.Potion_de_mana);
                                        break;
                                    case 3:
                                        joueur.inventaire.inventaire[i, j] = new Item("Larme de dragon", Item.type_objet.Larme_de_dragon);
                                        break;
                                    default:

                                        break;
                                }
                                joueur.inventaire.quantitesObjets[i, j] = sauvegardes.sauvegardes[1].quantite_objet[i, j];
                            }
                        }

                        joueur.LoadContent(content);
                        GestionJeu.ChargerJeu(mapManager, sauvegardes.sauvegardes[1].carte.ToString(), sauvegardes.sauvegardes[1].x - 20, sauvegardes.sauvegardes[1].y + 50, joueur, window);
                        gameManager.Etat = GameManager.etat.InGame;
                        clavierentrer = false;
                    }
                    if (choix == 3 && sauvegardes.sauvegardes[2].etat == GestionSauvegarde.TypeSauvegarde.PartieSauvegarde)
                    {
                        joueur.nomdujoueur = sauvegardes.sauvegardes[2].nomdujoueur;
                        joueur.sexe = sauvegardes.sauvegardes[2].sexe;

                        for (int i = 0; i < joueur.inventaire.inventaire.GetLength(0); i++)
                        {
                            for (int j = 0; j < joueur.inventaire.inventaire.GetLength(1); j++)
                            {
                                switch (sauvegardes.sauvegardes[2].id_objet[i, j])
                                {
                                    case 1:
                                        joueur.inventaire.inventaire[i, j] = new Item("Potion de vie", Item.type_objet.Potion_de_vie);
                                        break;
                                    case 2:
                                        joueur.inventaire.inventaire[i, j] = new Item("Potion de mana", Item.type_objet.Potion_de_mana);
                                        break;
                                    case 3:
                                        joueur.inventaire.inventaire[i, j] = new Item("Larme de dragon", Item.type_objet.Larme_de_dragon);
                                        break;
                                    default:

                                        break;
                                }
                                joueur.inventaire.quantitesObjets[i, j] = sauvegardes.sauvegardes[2].quantite_objet[i, j];
                            }
                        }

                        joueur.LoadContent(content);
                        GestionJeu.ChargerJeu(mapManager, sauvegardes.sauvegardes[2].carte.ToString(), sauvegardes.sauvegardes[2].x - 20, sauvegardes.sauvegardes[2].y + 50, joueur, window);
                        gameManager.Etat = GameManager.etat.InGame;
                        clavierentrer = false;
                    }
                    clavierentrer = false;
                }
                #endregion

                if (clavier.IsKeyDown(Keys.Escape) && !changement)
                {
                    mode = Mode.Solo;
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                    changement = true;
                }

                if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape))
                    changement = false;
            }
            #endregion

            #region Sauvegarde
            if (mode == Mode.Sauvegarde)
            {
                #region positionchoix
                #region Haut
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierentrer = false;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 3;
                }
                #endregion

                #region Bas
                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    clavierentrer = false;
                    if (choix >= 4)
                        choix = 1;
                }
                #endregion

                rectselecteur = new Rectangle(10, 20 + choix * 80 - 40, 40, 30);
                #endregion

                #region validation

                if (clavier.IsKeyDown(Keys.Enter) && !changement)
                {
                    clavierentrer = true;
                }
                if (clavierentrer && clavier.IsKeyUp(Keys.Enter))
                {
                    sauvegarde_en_cours = true;
                    if (choix == 1)
                    {
                        #region Sauvegarde1
                        string[] ligne_inv = new string[3];
                        int[,] id_objet = new int[3, 5];
                        for (int i = 0; i < ligne_inv.Length; i++)
                        {
                            ligne_inv[i] = "";
                        }
                        for (int i = 0; i < joueur.inventaire.inventaire.GetLength(0); i++)
                        {
                            for (int j = 0; j < joueur.inventaire.inventaire.GetLength(1); j++)
                            {
                                if (joueur.inventaire.inventaire[i, j] != null)
                                {
                                    switch (joueur.inventaire.inventaire[i, j].type_de_l_objet)
                                    {
                                        case Item.type_objet.Potion_de_vie:
                                            ligne_inv[i] += "1";
                                            id_objet[i, j] = 1;
                                            break;
                                        case Item.type_objet.Potion_de_mana:
                                            ligne_inv[i] += "2";
                                            id_objet[i, j] = 2;
                                            break;
                                        case Item.type_objet.Larme_de_dragon:
                                            ligne_inv[i] += "3";
                                            id_objet[i, j] = 3;
                                            break;
                                        default:
                                            ligne_inv[i] += "0";
                                            id_objet[i, j] = 0;
                                            break;
                                    }
                                    ligne_inv[i] += "/";
                                    ligne_inv[i] += joueur.inventaire.quantitesObjets[i, j].ToString();
                                }
                                else
                                {
                                    ligne_inv[i] += "0/0";
                                }

                                if (j != joueur.inventaire.inventaire.GetLength(1) - 1)
                                ligne_inv[i] += "*";
                            }
                        }
                        string sexe = "homme";
                        if (joueur.sexe == Joueur.Sexe.femme)
                        {
                            sexe = "femme";
                        }
                        sauvegardes.sauvegardes[0] = new GestionSauvegarde.Sauvegarde(true, joueur.nomdujoueur, 0, Convert.ToInt32(Carte.carte_actuelle), (int)joueur.centre_joueur.X, (int)joueur.centre_joueur.Y, sexe,id_objet, joueur.inventaire.quantitesObjets);
                        //////////////////////////////////////////////////////////////////////////
                        StreamWriter sw = new StreamWriter("DATA\\1.SAV");
                        sw.WriteLine("Saved");
                        sw.WriteLine(joueur.nomdujoueur);
                        sw.WriteLine(sexe);
                        sw.WriteLine(sauvegardes.sauvegardes[0].avancementdujeu);
                        sw.WriteLine(Carte.carte_actuelle);
                        sw.WriteLine(joueur.centre_joueur.X);
                        sw.WriteLine(joueur.centre_joueur.Y);
                        for (int i = 0; i < ligne_inv.Length; i++)
                        {
                            sw.WriteLine(ligne_inv[i]);
                        }
                        sw.WriteLine("Obj/i,j*Spell/id*V*V*V*V");
                        sw.Close();

                        #endregion
                    }
                    if (choix == 2)
                    {
                        #region Sauvegarde2
                        string[] ligne_inv = new string[3];
                        int[,] id_objet = new int[3, 5];
                        for (int i = 0; i < ligne_inv.Length; i++)
                        {
                            ligne_inv[i] = "";
                        }
                        for (int i = 0; i < joueur.inventaire.inventaire.GetLength(0); i++)
                        {
                            for (int j = 0; j < joueur.inventaire.inventaire.GetLength(1); j++)
                            {
                                if (joueur.inventaire.inventaire[i, j] != null)
                                {
                                    switch (joueur.inventaire.inventaire[i, j].type_de_l_objet)
                                    {
                                        case Item.type_objet.Potion_de_vie:
                                            ligne_inv[i] += "1";
                                            id_objet[i, j] = 1;
                                            break;
                                        case Item.type_objet.Potion_de_mana:
                                            ligne_inv[i] += "2";
                                            id_objet[i, j] = 2;
                                            break;
                                        case Item.type_objet.Larme_de_dragon:
                                            ligne_inv[i] += "3";
                                            id_objet[i, j] = 3;
                                            break;
                                        default:
                                            ligne_inv[i] += "0";
                                            id_objet[i, j] = 0;
                                            break;
                                    }
                                    ligne_inv[i] += "/";
                                    ligne_inv[i] += joueur.inventaire.quantitesObjets[i, j].ToString();
                                }
                                else
                                {
                                    ligne_inv[i] += "0/0";
                                }

                                if (j != joueur.inventaire.inventaire.GetLength(1) - 1)
                                    ligne_inv[i] += "*";
                            }
                        }
                        string sexe = "homme";
                        if (joueur.sexe == Joueur.Sexe.femme)
                        {
                            sexe = "femme";
                        }
                        sauvegardes.sauvegardes[1] = new GestionSauvegarde.Sauvegarde(true, joueur.nomdujoueur, 0, Convert.ToInt32(Carte.carte_actuelle), (int)joueur.centre_joueur.X, (int)joueur.centre_joueur.Y, sexe, id_objet, joueur.inventaire.quantitesObjets);
                        //////////////////////////////////////////////////////////////////////////
                        StreamWriter sw = new StreamWriter("DATA\\2.SAV");
                        sw.WriteLine("Saved");
                        sw.WriteLine(joueur.nomdujoueur);
                        sw.WriteLine(sexe);
                        sw.WriteLine(sauvegardes.sauvegardes[1].avancementdujeu);
                        sw.WriteLine(Carte.carte_actuelle);
                        sw.WriteLine(joueur.centre_joueur.X);
                        sw.WriteLine(joueur.centre_joueur.Y);
                        for (int i = 0; i < ligne_inv.Length; i++)
                        {
                            sw.WriteLine(ligne_inv[i]);
                        }
                        sw.WriteLine("Obj/i,j*Spell/id*V*V*V*V");
                        sw.Close();
                        #endregion
                    }
                    if (choix == 3)
                    {
                        #region Sauvegarde3
                        string[] ligne_inv = new string[3];
                        int[,] id_objet = new int[3, 5];
                        for (int i = 0; i < ligne_inv.Length; i++)
                        {
                            ligne_inv[i] = "";
                        }
                        for (int i = 0; i < joueur.inventaire.inventaire.GetLength(0); i++)
                        {
                            for (int j = 0; j < joueur.inventaire.inventaire.GetLength(1); j++)
                            {
                                if (joueur.inventaire.inventaire[i, j] != null)
                                {
                                    switch (joueur.inventaire.inventaire[i, j].type_de_l_objet)
                                    {
                                        case Item.type_objet.Potion_de_vie:
                                            ligne_inv[i] += "1";
                                            id_objet[i, j] = 1;
                                            break;
                                        case Item.type_objet.Potion_de_mana:
                                            ligne_inv[i] += "2";
                                            id_objet[i, j] = 2;
                                            break;
                                        case Item.type_objet.Larme_de_dragon:
                                            ligne_inv[i] += "3";
                                            id_objet[i, j] = 3;
                                            break;
                                        default:
                                            ligne_inv[i] += "0";
                                            id_objet[i, j] = 0;
                                            break;
                                    }
                                    ligne_inv[i] += "/";
                                    ligne_inv[i] += joueur.inventaire.quantitesObjets[i, j].ToString();
                                }
                                else
                                {
                                    ligne_inv[i] += "0/0";
                                }

                                if (j != joueur.inventaire.inventaire.GetLength(1) - 1)
                                    ligne_inv[i] += "*";
                            }
                        }
                        string sexe = "homme";
                        if (joueur.sexe == Joueur.Sexe.femme)
                        {
                            sexe = "femme";
                        }
                        sauvegardes.sauvegardes[2] = new GestionSauvegarde.Sauvegarde(true, joueur.nomdujoueur, 0, Convert.ToInt32(Carte.carte_actuelle), (int)joueur.centre_joueur.X, (int)joueur.centre_joueur.Y, sexe, id_objet, joueur.inventaire.quantitesObjets);
                        //////////////////////////////////////////////////////////////////////////
                        StreamWriter sw = new StreamWriter("DATA\\3.SAV");
                        sw.WriteLine("Saved");
                        sw.WriteLine(joueur.nomdujoueur);
                        sw.WriteLine(sexe);
                        sw.WriteLine(sauvegardes.sauvegardes[2].avancementdujeu);
                        sw.WriteLine(Carte.carte_actuelle);
                        sw.WriteLine(joueur.centre_joueur.X);
                        sw.WriteLine(joueur.centre_joueur.Y);
                        for (int i = 0; i < ligne_inv.Length; i++)
                        {
                            sw.WriteLine(ligne_inv[i]);
                        }
                        sw.WriteLine("Obj/i,j*Spell/id*V*V*V*V");
                        sw.Close();
                        #endregion  QZ
                    }
                    clavierentrer = false;
                    message.AfficheMessage(sauvegarde_succes);
                }
                #endregion

                if (clavier.IsKeyDown(Keys.Escape) && !changement)
                {
                    mode = Mode.Pause;
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                    changement = true;
                }

                if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape))
                    changement = false;
            }
            #endregion

            #region Pause
            if (mode == Mode.Pause)
            {
                if (!pauseactive)
                    pauseactive = true;

                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 4;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    if (choix >= 5)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                #region validation
                if (clavier.IsKeyDown(Keys.Enter))
                {
                    clavierentrer = true;
                }
                if (clavierentrer && clavier.IsKeyUp(Keys.Enter))
                {
                    if (choix == 1)
                    {
                        gameManager.Etat = GameManager.etat.InGame;
                        mode = Mode.Pause;
                        pauseactive = false;
                        Environnement.gestionnaire_son_environnement.Resume();
                    }
                    if (choix == 2)
                    {
                        choix = 1;
                        rectselecteur = new Rectangle(10, 60, 40, 30);
                        changement = true;
                        mode = Mode.Option;
                    }
                    if (choix == 3)
                    {
                        choix = 1;
                        changement = true;
                        mode = Mode.Sauvegarde;
                    }
                    if (choix == 4)
                        game1.Exit();

                    clavierentrer = false;
                }
                #endregion
            }
            #endregion

            #region ChoixEditeurDeMap
            if (mode == Mode.Choixediteurdemap)
            {
                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 2;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    if (choix >= 3)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                #region Validation
                if (mode == Mode.Choixediteurdemap)
                {
                    if (clavier.IsKeyDown(Keys.Enter))
                    {
                        clavierentrer = true;
                    }

                    if (clavier.IsKeyUp(Keys.Enter) && clavierentrer)
                    {
                        if (choix == 1 && !changement)
                        {
                            mode = Mode.NouvelleCarte;
                            changement = true;
                        }

                        if (choix == 2)
                        {
                            mode = Mode.ModifierCarte;
                            changement = true;
                        }
                        clavierentrer = false;
                    }
                }
                #endregion

                if (clavier.IsKeyDown(Keys.Escape) && !changement)
                {
                    mode = Mode.Menu;
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                }

                if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape))
                    changement = false;
            }
            #endregion

            #region NouvelleCarte
            if (mode == Mode.NouvelleCarte)
            {
                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 3;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    if (choix >= 4)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                #region Validation
                if (mode == Mode.NouvelleCarte)
                {
                    if (clavier.IsKeyDown(Keys.Enter))
                    {
                        clavierentrer = true;
                    }

                    if ((clavier.IsKeyDown(Keys.Left) && clavier.IsKeyUp(Keys.Right)) && !flechedroite)
                        flechegauche = true;

                    if((clavier.IsKeyUp(Keys.Left) && clavier.IsKeyDown(Keys.Right)) && !flechegauche)
                        flechedroite = true;

                    if (choix == 1 && !changement)
                    {
                        if (clavier.IsKeyUp(Keys.Left) && flechegauche)
                        {
                            if(carte_largeur > 5)
                                carte_largeur--;

                            flechegauche = false;
                        }
                        if (clavier.IsKeyUp(Keys.Right) && flechedroite)
                        {
                            carte_largeur++;

                            flechedroite = false;
                        }
                    }
                    if (choix == 2 && !changement)
                    {
                        if (clavier.IsKeyUp(Keys.Left) && flechegauche)
                        {
                            if (carte_hauteur > 5)
                                carte_hauteur--;

                            flechegauche = false;
                        }
                        if (clavier.IsKeyUp(Keys.Right) && flechedroite)
                        {
                            carte_hauteur++;

                            flechedroite = false;
                        }
                    }
                    if (clavier.IsKeyUp(Keys.Enter) && clavierentrer)
                    {
                        if (choix == 3 && !changement)
                        {
                            mode = Mode.EditeurDeCarte;
                            editeurdecarte = new EditeurDeCarte(window, carte_largeur, carte_hauteur);
                            editeurdecarte.LoadContent(content);
                        }

                        clavierentrer = false;
                    }
                }
                #endregion

                if (clavier.IsKeyDown(Keys.Escape) && !changement)
                {
                    mode = Mode.Choixediteurdemap;
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                    changement = true;
                }

                if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape))
                    changement = false;
            }
            #endregion

            #region ModifierCarte
            if (mode == Mode.ModifierCarte)
            {
                StreamReader sr = new StreamReader("Data\\NOMBRE_CARTE");
                int maxcarte = Convert.ToInt32(sr.ReadLine());
                sr.Close();

                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 2;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    if (choix >= 3)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                #region Validation
                if (mode == Mode.ModifierCarte)
                {
                    if (clavier.IsKeyDown(Keys.Enter))
                    {
                        clavierentrer = true;
                    }

                    if ((clavier.IsKeyDown(Keys.Left) && clavier.IsKeyUp(Keys.Right)) && !flechedroite)
                        flechegauche = true;

                    if ((clavier.IsKeyUp(Keys.Left) && clavier.IsKeyDown(Keys.Right)) && !flechegauche)
                        flechedroite = true;

                    if (choix == 1 && !changement)
                    {
                        if (clavier.IsKeyUp(Keys.Left) && flechegauche)
                        {
                            if (numerocarte > 0)
                                numerocarte--;

                            flechegauche = false;
                        }
                        if (clavier.IsKeyUp(Keys.Right) && flechedroite)
                        {
                            if(numerocarte < maxcarte - 1)
                            numerocarte++;

                            flechedroite = false;
                        }
                    }

                    if (clavier.IsKeyUp(Keys.Enter) && clavierentrer)
                    {
                        if (choix == 2 && !changement)
                        {
                            mode = Mode.EditeurDeCarte;
                            editeurdecarte = new EditeurDeCarte(window, numerocarte + "");
                            editeurdecarte.LoadContent(content);
                        }

                        clavierentrer = false;
                    }
                }
                #endregion

                if (clavier.IsKeyDown(Keys.Escape) && !changement)
                {
                    mode = Mode.Choixediteurdemap;
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                    changement = true;
                }

                if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape))
                    changement = false;
            }
            #endregion

            #region EditeurDeCarte
            if (mode == Mode.EditeurDeCarte)
            {
                editeurdecarte.Update(clavier, souris, langue == Langue.Francais);

                if (clavier.IsKeyDown(Keys.Escape) && !changement)
                {
                    editeurdecarte.Enregistrement();
                    mode = Mode.Choixediteurdemap;
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                    changement = true;
                }

                if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape))
                    changement = false;
            }
            #endregion
        }
Пример #11
0
 public static void NouveauJeu(Carte map, Joueur joueur, GameWindow window)
 {
     map.Chargement("000");
 }
Пример #12
0
        public void Update_Deplacement(KeyboardState clavier, Carte carte, EcranChargement ecran_chargement, Menu menu)
        {
            courseactive = clavier.IsKeyDown(Keys.LeftShift);

            #region Valeur de deplacement
            int deplacement;

            if (courseactive)
            {
                deplacement = 4;
            }

            else
            {
                deplacement = 2;
            }
            #endregion

            if(menu.clavierType == Menu.ClavierType.AZERTY)
            {
                fleche_haut = clavier.IsKeyDown(Keys.Z);
                fleche_bas = clavier.IsKeyDown(Keys.S);
                fleche_gauche = clavier.IsKeyDown(Keys.Q);
                fleche_droite = clavier.IsKeyDown(Keys.D);
            }
            else
            {
                fleche_haut = clavier.IsKeyDown(Keys.W);
                fleche_bas = clavier.IsKeyDown(Keys.S);
                fleche_gauche = clavier.IsKeyDown(Keys.A);
                fleche_droite = clavier.IsKeyDown(Keys.D);
            }

            if (!ecran_chargement.transition)
            {
                if (!blocage_gauche && fleche_gauche && centre_joueur.X - 20 > 0)
                    centre_joueur.X -= deplacement;

                if (!blocage_droit && fleche_droite && centre_joueur.X + 20 < carte.largeur)
                    centre_joueur.X += deplacement;

                if (!blocage_haut && fleche_haut && centre_joueur.Y - 50 > 0)
                    centre_joueur.Y -= deplacement;

                if (!blocage_bas && fleche_bas && centre_joueur.Y + 50 < carte.hauteur)
                    centre_joueur.Y += deplacement;
            }
        }
Пример #13
0
        protected override void Initialize()
        {
            graphics.ToggleFullScreen();

            #region Gestionnaire
                gameManager = new GameManager();
                carte = new Carte();
                gestionnaire_son = new Gestionnaire_son();
                environnement = new Environnement(Window);
            #endregion

            #region Interface
                lancement = new Lancement();
                menu = new Menu(Window);
                camera = new Camera(Window);
                curseur = new Curseur(Content.Load<Texture2D>("Curseur"));
                jauge = new Jauge();
                barreAction = new BarreAction(Window);
            #endregion

            joueur = new Joueur(Window, Joueur.Sexe.homme);
            gestion_transition = new GestionTeleportation();
            ecran_chargement = new EcranChargement(Window);

            base.Initialize();
        }
Пример #14
0
 public static void NouveauJeu(Carte map, Joueur joueur, GameWindow window)
 {
     map.Chargement("4");
     joueur.Positionnement(353, 107);
 }
Пример #15
0
        protected override void Initialize()
        {
            graphics.ToggleFullScreen();

            #region Gestionnaire
                gameManager = new GameManager();
                carte = new Carte();
                gestionnaire_son = new Gestionnaire_son();
                environnement = new Environnement(Window);
            #endregion

            #region Interface
                lancement = new Lancement();
                menu = new Menu(Window);
                camera = new Camera(Window);
                curseur = new Curseur(Content.Load<Texture2D>("Curseur"));
                jauge = new Jauge();
                barreAction = new BarreAction(Window);
            #endregion

            bruitages = new Bruitages();
            joueur = new Joueur(Window, Joueur.Sexe.homme);
            gestion_transition = new GestionTeleportation();
            ecran_chargement = new EcranChargement(Window);
            joueur.inventaire = new Inventaire(Window);
            histoire = new Histoire(Window);
            intro = new IntroNouveauJeu(Window);
            base.Initialize();
            //Guide.ShowSignIn(1, false);
        }
Пример #16
0
 public static void ChargerJeu(Carte map, string carte, int x, int y, Joueur joueur, GameWindow window)
 {
     map.Chargement(carte);
 }
Пример #17
0
        public void Update(KeyboardState clavier, Carte carte, Camera camera, EcranChargement ecran_chargement)
        {
            rectangle = new Rectangle((int)(centre_joueur.X) - 20 - camera.x, (int)centre_joueur.Y - 50 - camera.y, 40, 100);
            rectangle_femme = new Rectangle(rectangle.X, rectangle.Y, rectangle.Width * 3 / 2, rectangle.Height);
            rectangle_femme_face = new Rectangle(rectangle.X, rectangle.Y, rectangle.Width * 28 / 20, rectangle.Height);

            collisionhaut   = new Rectangle((int)centre_joueur.X - 15, (int)centre_joueur.Y + 22, 30, 8);
            collisionbas    = new Rectangle((int)centre_joueur.X - 15, (int)centre_joueur.Y + 50, 30, 8);
            collisiongauche = new Rectangle((int)centre_joueur.X - 21, (int)centre_joueur.Y + 30, 6, 20);
            collisiondroite = new Rectangle((int)centre_joueur.X + 15, (int)centre_joueur.Y + 30, 8, 20);
            UpdateDirection(clavier);
            Update_Deplacement(clavier, carte, ecran_chargement);
        }
Пример #18
0
        public void Update(KeyboardState clavier, GameManager gameManager, Game1 game1, Carte mapManager, Joueur joueur, GameWindow window, ContentManager content)
        {
            #region langue
            if (langue == Langue.Francais)
            {
                solo = "Solo";
                multi = "Multijoueur";
                option = "Options";
                quitter = "Quitter";
                son = "Son: ";
                language = "Langue: ";
                nomlangue = "Français";
                nouvjeu = "Nouvelle partie";
                charge = "Charger partie";
                homme = "Homme";
                fille = "Femme";
                questionsexe = "Que voulez-vous être?";
                reprendre = "Reprendre";

                #region Editeur de carte
                editeur = "Editeur de carte";
                nouvellecarte = "Nouvelle carte";
                modifiercarte = "Modifier carte";
                questiontaillecarte = "Quel est la taille de la carte?";
                largeurcarte = "Largeur: ";
                hauteurcarte = "Hauteur: ";
                #endregion

            }
            else
            {
                solo = "Solo";
                multi = "Multiplayer";
                option = "Settings";
                quitter = "Exit";
                son = "Sound: ";
                language = "Language: ";
                nomlangue = "English";
                nouvjeu = "New game";
                charge = "Load game";
                homme = "Male";
                fille = "Female";
                questionsexe = "What do you want to be?";
                reprendre = "Resume";

                /*
                #region Editeur de carte
                    editeur = "Map editor";
                    nouvellecarte = "New map";
                    modifiercarte = "Modify map";
                    questiontaillecarte = "What's the size of the map?";
                    largeurcarte = "Width: ";
                    hauteurcarte = "Heigth: ";
                #endregion
                */
            }

            plangue = language + nomlangue;
            #endregion

            #region Son
            if (sound == Son.On)
                sonetat = "On";
            else
                sonetat = "Off";
            pson = son + sonetat;
            #endregion

            #region menu
            if (mode == Mode.Menu)
            {
                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierentrer = false;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 4;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    clavierentrer = false;
                    if (choix >= 5)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                /*
                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 5;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    if (choix >= 6)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion
                */

                #region validation

                if (clavier.IsKeyDown(Keys.Enter))
                {
                    clavierentrer = true;
                }
                if (clavierentrer && clavier.IsKeyUp(Keys.Enter))
                {
                    if (choix == 1)
                    {
                        changement = true;
                        rectselecteur = new Rectangle(10, 60, 40, 30);
                        choix = 1;
                        mode = Mode.Solo;
                    }
                    /*
                    if (choix == 3)
                    {
                        choix = 1;
                        rectselecteur = new Rectangle(10, 60, 40, 30);
                        changement = true;
                        mode = Mode.Choixediteurdemap;
                    }

                    if (choix == 4)
                    {
                        choix = 1;
                        rectselecteur = new Rectangle(10, 60, 40, 30);
                        changement = true;
                        mode = Mode.Option;
                    }
                    if (choix == 5)
                        game1.Exit();
                    */
                    if (choix == 3)
                    {
                        choix = 1;
                        rectselecteur = new Rectangle(10, 60, 40, 30);
                        changement = true;
                        mode = Mode.Option;
                    }

                    if (choix == 4)
                    {
                        game1.Exit();
                    }
                }
                #endregion
            }
            #endregion

            #region option
            if (mode == Mode.Option)
            {
                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 2;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    if (choix >= 3)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                #region Validation
                if (mode == Mode.Option)
                {
                    if (clavier.IsKeyDown(Keys.Enter))
                    {
                        clavierentrer = true;
                    }

                    if (clavier.IsKeyUp(Keys.Enter) && clavierentrer)
                    {
                        if (choix == 1 && !changement)
                        {
                            if (sound == Son.On)
                                sound = Son.Off;
                            else
                                sound = Son.On;
                        }

                        if (choix == 2)
                        {
                            if (langue == Langue.Francais)
                                langue = Langue.Anglais;
                            else
                                langue = Langue.Francais;
                        }
                        clavierentrer = false;
                    }
                }
                #endregion

                if (clavier.IsKeyDown(Keys.Escape))
                {
                    if (gameManager.Etat == GameManager.etat.Menu)
                    {
                        mode = Mode.Menu;
                    }
                    if (gameManager.Etat == GameManager.etat.Pause)
                    {
                        mode = Mode.Pause;
                    }
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                }

                if (clavier.IsKeyUp(Keys.Enter))
                    changement = false;
            }
            #endregion

            #region Solo
            if (mode == Mode.Solo)
            {
                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 2;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    if (choix >= 3)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                #region Validation
                if (mode == Mode.Solo)
                {
                    if (clavier.IsKeyDown(Keys.Enter))
                    {
                        clavierentrer = true;
                    }

                    if (clavier.IsKeyUp(Keys.Enter) && clavierentrer)
                    {
                        if (choix == 1 && !changement)
                        {
                            mode = Mode.ChoixSexe;
                            changement = true;
                        }

                        if (choix == 2)
                        {

                        }
                        clavierentrer = false;
                    }
                }
                #endregion

                if (clavier.IsKeyDown(Keys.Escape) && !changement)
                {
                    mode = Mode.Menu;
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                }

                if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape))
                    changement = false;
            }
            #endregion

            #region Choix Sexe
            if (mode == Mode.ChoixSexe)
            {
                #region positionchoix
                    #region Haut
                        if (!clavierhaut)
                        {
                            if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                            {
                                clavierhaut = true;
                            }
                        }

                        if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                        {
                            choix--;
                            clavierentrer = false;
                            clavierhaut = false;
                            if (choix <= 0)
                                choix = 2;
                        }
                    #endregion

                    #region Bas
                            if (!clavierbas)
                            {
                                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                                {
                                    clavierbas = true;
                                }
                            }

                            if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                            {
                                choix++;
                                clavierbas = false;
                                clavierentrer = false;
                                if (choix >= 3)
                                    choix = 1;
                            }
                        #endregion

                    rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                #region validation

                if (clavier.IsKeyDown(Keys.Enter) && !changement)
                {
                    clavierentrer = true;
                }
                if (clavierentrer && clavier.IsKeyUp(Keys.Enter))
                {
                    if (choix == 1)
                    {
                        joueur.sexe = Joueur.Sexe.homme;
                    }
                    if (choix == 2)
                    {
                        joueur.sexe = Joueur.Sexe.femme;
                    }

                    joueur.LoadContent(content);
                    GestionJeu.NouveauJeu(mapManager, joueur, window);
                    gameManager.Etat = GameManager.etat.InGame;
                    clavierentrer = false;
                }
                #endregion

                if (clavier.IsKeyDown(Keys.Escape) && !changement)
                {
                    mode = Mode.Solo;
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                    changement = true;
                }

                if (clavier.IsKeyUp(Keys.Enter) && clavier.IsKeyUp(Keys.Escape))
                    changement = false;
            }
            #endregion

            #region Pause
            if (mode == Mode.Pause)
            {
                if (!pauseactive)
                    pauseactive = true;

                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 3;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    if (choix >= 4)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                #region validation
                if (clavier.IsKeyDown(Keys.Enter))
                {
                    clavierentrer = true;
                }
                if (clavierentrer && clavier.IsKeyUp(Keys.Enter))
                {
                    if (choix == 1)
                    {
                        gameManager.Etat = GameManager.etat.InGame;
                        mode = Mode.Pause;
                        pauseactive = false;
                    }
                    if (choix == 2)
                    {
                        choix = 1;
                        rectselecteur = new Rectangle(10, 60, 40, 30);
                        changement = true;
                        mode = Mode.Option;
                    }
                    if (choix == 3)
                        game1.Exit();

                    clavierentrer = false;
                }
                #endregion
            }
            #endregion

            #region ChoixEditeurDeMap
            if (mode == Mode.Choixediteurdemap)
            {
                #region positionchoix
                if (!clavierhaut)
                {
                    if (clavier.IsKeyDown(Keys.Up) && !clavier.IsKeyDown(Keys.Down))
                    {
                        clavierhaut = true;
                    }
                }

                if (clavier.IsKeyUp(Keys.Up) && !clavier.IsKeyDown(Keys.Down) && clavierhaut)
                {
                    choix--;
                    clavierhaut = false;
                    if (choix <= 0)
                        choix = 2;
                }

                if (!clavierbas)
                {
                    if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyDown(Keys.Down))
                    {
                        clavierbas = true;
                    }
                }

                if (!clavier.IsKeyDown(Keys.Up) && clavier.IsKeyUp(Keys.Down) && clavierbas)
                {
                    choix++;
                    clavierbas = false;
                    if (choix >= 3)
                        choix = 1;
                }
                rectselecteur = new Rectangle(10, 20 + choix * 40, 40, 30);
                #endregion

                #region Validation
                if (mode == Mode.Option)
                {
                    if (clavier.IsKeyDown(Keys.Enter))
                    {
                        clavierentrer = true;
                    }

                    if (clavier.IsKeyUp(Keys.Enter) && clavierentrer)
                    {
                        if (choix == 1 && !changement)
                        {
                            mode = Mode.EditMap;
                        }

                        if (choix == 2)
                        {
                            mode = Mode.EditMap;
                        }
                        clavierentrer = false;
                    }
                }
                #endregion

                if (clavier.IsKeyDown(Keys.Escape))
                {
                    if (gameManager.Etat == GameManager.etat.Menu)
                    {
                        mode = Mode.Menu;
                    }
                    rectselecteur = new Rectangle(10, 60, 40, 30);
                    choix = 1;
                }

                if (clavier.IsKeyUp(Keys.Enter))
                    changement = false;
            }
            #endregion
        }
Пример #19
0
        public void Update_Deplacement(KeyboardState clavier, Carte carte, EcranChargement ecran_chargement)
        {
            courseactive = clavier.IsKeyDown(Keys.LeftShift);

            #region Valeur de deplacement
            int deplacement;

            if (courseactive)
            {
                deplacement = 4;
            }

            else
            {
                deplacement = 2;
            }
            #endregion

            if (!ecran_chargement.transition)
            {
                if (!blocage_gauche && clavier.IsKeyDown(Keys.Q) && centre_joueur.X - 20 > 0)
                    centre_joueur.X -= deplacement;

                if (!blocage_droit && clavier.IsKeyDown(Keys.D) && centre_joueur.X + 20 < carte.largeur)
                    centre_joueur.X += deplacement;

                if (!blocage_haut && clavier.IsKeyDown(Keys.Z) && centre_joueur.Y - 50 > 0)
                    centre_joueur.Y -= deplacement;

                if (!blocage_bas && clavier.IsKeyDown(Keys.S) && centre_joueur.Y + 50 < carte.hauteur)
                    centre_joueur.Y += deplacement;
            }
        }