Ejemplo n.º 1
0
            public Sauvegarde(bool nonvide, string nomjoueur, int avancementdujeu, int carte, int x, int y, string sexe, int[,] id_objet, int[,] quantiteobjet)
            {
                if (nonvide)
                {
                    nomdujoueur = nomjoueur;
                    this.avancementdujeu = avancementdujeu;
                    etat = TypeSauvegarde.PartieSauvegarde;
                    this.carte = carte;
                    this.x = x;
                    this.y = y;
                    if (sexe == "femme")
                    {
                        this.sexe = Joueur.Sexe.femme;
                    }
                    else
                    {
                        this.sexe = Joueur.Sexe.homme;
                    }
                    this.id_objet = id_objet;
                    this.quantite_objet = quantiteobjet;
                }
                else
                {
                    nomdujoueur = "";
                    this.avancementdujeu = 0;
                    etat = TypeSauvegarde.EmplacementLibre;
                    this.carte = 0;
                    this.x = 0;
                    this.y = 0;
                    this.sexe = Joueur.Sexe.homme;
                    this.id_objet = new int[3, 5];
                    this.quantite_objet = new int[3, 5];

                    for (int i = 0; i < id_objet.GetLength(0); i++)
                    {
                        for (int j = 0; j < id_objet.GetLength(1); j++)
                        {
                            id_objet[i,j] = 0;
                            quantite_objet[i,j] = 0;
                        }
                    }
                }
            }
Ejemplo n.º 2
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
        }