예제 #1
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);
        }
예제 #2
0
        protected override void Initialize()
        {
            graphics.ToggleFullScreen();

            #region Gestionnaire
            gameManager = new GameManager();
            jeu = new GestionJeu();
            mapManager = new MapManager();
            soundManager = new SoundManager();
            collisionManager = new CollisionManager();
            gestionTeleportation = new GestionTeleportation();
            #endregion

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

            joueur = new PersonnageJouable(Window, PersonnageJouable.Sexe.femme);

            base.Initialize();
        }
예제 #3
0
        public void LoadContent(ContentManager Content)
        {
            #region Texture Sol
            textureeau = Content.Load<Texture2D>("Décors\\Sols\\eau");
            herbe = Content.Load<Texture2D>("Décors\\Sols\\herbe");
            texturesolbois = Content.Load<Texture2D>("Décors\\Sols\\solbois");
            texturesable = Content.Load<Texture2D>("Décors\\Sols\\sable");
            texturesolpierre = Content.Load<Texture2D>("Décors\\Sols\\cobbles");
            textureeausable = Content.Load<Texture2D>("Décors\\Sols\\eausable");
            texturesableeau = Content.Load<Texture2D>("Décors\\Sols\\sableeau");
            textureterre = Content.Load<Texture2D>("Décors\\Sols\\terre");
            vide = Content.Load<Texture2D>("Décors\\vide");
            plateforme_vie = Content.Load<Texture2D>("Décors\\Sols\\rune_active");
            escalier_pierre = Content.Load<Texture2D>("Décors\\Sols\\escalier");
            sol_prison = Content.Load<Texture2D>("Décors\\Sols\\sol_prison");
            #endregion

            #region Texture Décors
            arbre_0 = Content.Load<Texture2D>("Décors\\Elements\\tree");
            grilletexture_decor[0, 0] = arbre_0;
            char_texture_decor[0,0] = 'O';
            palmier = Content.Load<Texture2D>("Décors\\Elements\\palmier");
            grilletexture_decor[0, 1] = palmier;
            char_texture_decor[0,1] = 'I';
            maison = Content.Load<Texture2D>("Décors\\Elements\\maison_test");
            grilletexture_decor[0, 2] = maison;
            char_texture_decor[0,2] = 'M';
            mur_pierre = Content.Load<Texture2D>("Décors\\Murs\\murpierre");
            grilletexture_decor[0, 3] = mur_pierre;
            char_texture_decor[0,3] = '=';
            cascade = Content.Load<Texture2D>("Décors\\Murs\\cascade_0");
            grilletexture_decor[0, 4] = cascade;
            char_texture_decor[0,4] = 'C';
            rocher = Content.Load<Texture2D>("Décors\\Elements\\rocher");
            grilletexture_decor[1, 0] = rocher;
            char_texture_decor[1,0] = 'R';
            fontaine = Content.Load<Texture2D>("Décors\\Elements\\fontaine_0");
            grilletexture_decor[1, 1] = fontaine;
            char_texture_decor[1,1] = 'f';
            prison = Content.Load<Texture2D>("Décors\\Elements\\prison_0");
            grilletexture_decor[1, 2] = prison;
            char_texture_decor[1, 2] = 'P';
            paillasse = Content.Load<Texture2D>("Décors\\Elements\\paillasse");
            grilletexture_decor[1, 3] = paillasse;
            char_texture_decor[1, 3] = 'p';
            mur_prison = Content.Load<Texture2D>("Décors\\Murs\\mur_prison");
            grilletexture_decor[1, 4] = mur_prison;
            char_texture_decor[1, 4] = ':';
            pendaison = Content.Load<Texture2D>("Décors\\Elements\\pendaison");
            grilletexture_decor[2, 0] = pendaison;
            char_texture_decor[2, 0] = 'x';
            #endregion

            #region Texture Objet
            potion_vie = Content.Load<Texture2D>("Objet\\Potion_de_vie");
            grilletexture_objet[0, 0] = potion_vie;
            char_texture_objet[0, 0] = 'v';
            potion_mana = Content.Load<Texture2D>("Objet\\Potion_de_mana");
            grilletexture_objet[0, 1] = potion_mana;
            char_texture_objet[0, 1] = 'm';
            larme_de_dragon = Content.Load<Texture2D>("Objet\\Larme_de_dragon");
            grilletexture_objet[0, 2] = larme_de_dragon;
            char_texture_objet[0, 2] = 'l';
            #endregion

            #region Texture Transition
            fleche_g = Content.Load<Texture2D>("curseur_gauche");
            fleche_d = Content.Load<Texture2D>("curseur_droite");
            gestionTeleportation.LoadContent(Content);
            teleporteur = Content.Load<Texture2D>("teleporteur");
            #endregion

            #region choixDesTextures
            grilletexture_sol[0, 0] = textureeau;
                char_texture_sol[0, 0] = '~';
                grilletexture_sol[0, 1] = herbe;
            char_texture_sol[0, 1] = '#';
                grilletexture_sol[0, 2] = texturesolbois;
            char_texture_sol[0, 2] = '_';
                grilletexture_sol[0, 3] = texturesable;
            char_texture_sol[0, 3] = '.';
                grilletexture_sol[0, 4] = texturesolpierre;
            char_texture_sol[0, 4] = 'p';
                grilletexture_sol[1, 0] = textureeausable;
            char_texture_sol[1, 0] = '\\';
                grilletexture_sol[1, 1] = texturesableeau;
            char_texture_sol[1, 1] = '/';
                grilletexture_sol[1, 2] = textureterre;
            char_texture_sol[1, 2] = 't';
                grilletexture_sol[1, 3] = vide;
            char_texture_sol[1, 3] = ' ';
                grilletexture_sol[1, 4] = plateforme_vie;
            char_texture_sol[1, 4] = '2';
                grilletexture_sol[2, 0] = escalier_pierre;
                char_texture_sol[2, 0] = '1';
                grilletexture_sol[2, 1] = sol_prison;
                char_texture_sol[2, 1] = '7';
                grilletexture_sol[2, 2] = null;
                char_texture_sol[2, 2] = '1';
                grilletexture_sol[2, 3] = null;
                char_texture_sol[2, 3] = '1';
                grilletexture_sol[2, 4] = null;
                char_texture_sol[2, 4] = '1';
            #endregion

            #region Interface
            curseur = new Curseur(Content.Load<Texture2D>("Curseur"));
            premierecouche = Content.Load<Texture2D>("EditeurDeCarte\\background");
            secondecouche = Content.Load<Texture2D>("EditeurDeCarte\\foreground");
            troisiemecouche = Content.Load<Texture2D>("EditeurDeCarte\\3eme");
            quatriemecouche = Content.Load<Texture2D>("EditeurDeCarte\\4eme");
            bouton_actif = Content.Load<Texture2D>("EditeurDeCarte\\bouton_actif");
            bouton_inactif = Content.Load<Texture2D>("EditeurDeCarte\\bouton_inactif");
            font = Content.Load<SpriteFont>("SpriteFont1");
            #endregion

            #region Rectangle_Sol
            for (int i = 0; i < coordgrilletexture_sol.GetLength(0); i++)
            {
                for (int j = 0; j < coordgrilletexture_sol.GetLength(1); j++)
                {
                    coordgrilletexture_sol[i, j] = new Rectangle(10 + 50 * j + dec_x_sol, 10 + 50 * i + dec_y_sol, 40, 40);
                }
            }
            #endregion

            #region Rectangle_Decor
            for (int i = 0; i < coordgrilletexture_decor.GetLength(0); i++)
            {
                for (int j = 0; j < coordgrilletexture_decor.GetLength(1); j++)
                {
                    coordgrilletexture_decor[i, j] = new Rectangle(10 + 70 * j + dec_x_decor, 10 + 70 * i + dec_y_decor, 60, 60);
                }
            }
            #endregion

            #region Rectangle_Objet
            for (int i = 0; i < coordgrilletexture_objet.GetLength(0); i++)
            {
                for (int j = 0; j < coordgrilletexture_objet.GetLength(1); j++)
                {
                    coordgrilletexture_objet[i, j] = new Rectangle(10 + 50 * j + dec_x_objet, 10 + 50 * i + dec_y_objet, 40, 40);
                }
            }
            #endregion

            #region Rect_Bouton
            int HAUTEUR_RECT = dec_y_sol / NOMBRE_BOUTTON * 14 / 15 * 102 / 100;
            for (int i = 0; i < rect_bouton.Length; i++)
            {
                rect_bouton[i] = new Rectangle(8 * largeurFenetre / 11, 20 + HAUTEUR_RECT * i, 3 * largeurFenetre / 10, HAUTEUR_RECT);
            }
            #endregion

            #region Vector2 Texte Bouton
            for (int i = 0; i < texte_menu.Length; i++)
            {
                position_menu[i] = new Vector2(rect_bouton[i].X + 100, rect_bouton[i].Y + 20);
            }
            #endregion

            StreamReader sr = new StreamReader("DATA\\NOMBRE_CARTE");
            nb_cartes = Convert.ToInt32(sr.ReadLine());
            sr.Close();
        }
예제 #4
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();
        }
예제 #5
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
        }
예제 #6
0
        public void Draw(SpriteBatch spriteBatch, Curseur curseur)
        {
            int hauteurtexte = 400;
            Color myColor = Color.Black;
            spriteBatch.Draw(fond, new Rectangle(0, 0, largeur, hauteur), Color.White);

            #region Menu
            if (mode == Mode.Menu)
            {

                spriteBatch.DrawString(font, solo, new Vector2(60, 60 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, multi, new Vector2(60, 100 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, editeur, new Vector2(60, 140 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, option, new Vector2(60, 180 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, quitter, new Vector2(60, 220 + hauteurtexte), myColor);
            }
            #endregion

            #region Option
            if (mode == Mode.Option)
            {
                spriteBatch.DrawString(font, pson, new Vector2(60, 60 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, plangue, new Vector2(60, 100 + hauteurtexte), myColor);
                if (clavierType == ClavierType.AZERTY)
                    spriteBatch.DrawString(font, claviertype + "AZERTY", new Vector2(60, 140 + hauteurtexte), myColor);
                else
                    spriteBatch.DrawString(font, claviertype + "QWERTY", new Vector2(60, 140 + hauteurtexte), myColor);
            }
            #endregion

            #region Solo
            if (mode == Mode.Solo)
            {
                spriteBatch.DrawString(font, nouvjeu, new Vector2(60, 60 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, charge, new Vector2(60, 100 + hauteurtexte), myColor);
            }
            #endregion

            #region NouveauJeu
            if (mode == Mode.NouveauJeu)
            {
                if (compteur_texture >= MAX_COMPTEUR_TEXTURE)
                    compteur_texture = 0;

                int j = 0;
                spriteBatch.DrawString(font, player + nomjoueur.texte, new Vector2(60, 60 + hauteurtexte), myColor);
                if (choixsexeee == Joueur.Sexe.homme)
                {
                    spriteBatch.DrawString(font, questionsexe + "    -" + homme + "    " + fille, new Vector2(60, 100 + hauteurtexte), myColor);
                }
                else
                {
                    spriteBatch.DrawString(font, questionsexe + "    " + homme + "    -" + fille, new Vector2(60, 100 + hauteurtexte), myColor);
                    j = 1;
                }

                Rectangle position = new Rectangle(100, 250, 80, 200);
                Rectangle position_bis = new Rectangle(position.X, position.Y, (int)(position.Width), position.Height);

                if (compteur_texture <= 1 * MAX_COMPTEUR_TEXTURE / 4)
                    spriteBatch.Draw(personnage[j, 0], position, Color.White);
                else if(compteur_texture <= 2 * MAX_COMPTEUR_TEXTURE / 4)
                    spriteBatch.Draw(personnage[j, 1], position_bis, Color.White);
                else if (compteur_texture <= 3 * MAX_COMPTEUR_TEXTURE / 4)
                    spriteBatch.Draw(personnage[j, 0], position, Color.White);
                else
                    spriteBatch.Draw(personnage[j, 2], position_bis, Color.White);

                compteur_texture++;
            }
            #endregion

            #region ChargerJeu
            if (mode == Mode.ChargerPartie)
            {
                Color vide = new Color(100, 100, 100);
                if (sauvegardes.sauvegardes[0].etat == GestionSauvegarde.TypeSauvegarde.PartieSauvegarde)
                {
                    spriteBatch.DrawString(font, "1: " + sauvegardes.sauvegardes[0].nomdujoueur, new Vector2(60, 60 + hauteurtexte), myColor);
                    spriteBatch.DrawString(font, progression_texte + sauvegardes.sauvegardes[0].avancementdujeu + "%", new Vector2(60, 100 + hauteurtexte), myColor);
                }
                else
                {
                    spriteBatch.DrawString(font, "1: " + emplacementlibre, new Vector2(60, 60 + hauteurtexte), vide);
                    spriteBatch.DrawString(font, "", new Vector2(60, 100 + hauteurtexte), myColor);
                }

                if (sauvegardes.sauvegardes[1].etat == GestionSauvegarde.TypeSauvegarde.PartieSauvegarde)
                {
                    spriteBatch.DrawString(font, "2: " + sauvegardes.sauvegardes[1].nomdujoueur, new Vector2(60, 140 + hauteurtexte), myColor);
                    spriteBatch.DrawString(font, progression_texte + sauvegardes.sauvegardes[1].avancementdujeu + "%", new Vector2(60, 180 + hauteurtexte), myColor);
                }
                else
                {
                    spriteBatch.DrawString(font, "2: " + emplacementlibre, new Vector2(60, 140 + hauteurtexte), vide);
                    spriteBatch.DrawString(font, "", new Vector2(60, 180 + hauteurtexte), myColor);
                }

                if (sauvegardes.sauvegardes[2].etat == GestionSauvegarde.TypeSauvegarde.PartieSauvegarde)
                {
                    spriteBatch.DrawString(font, "3: " + sauvegardes.sauvegardes[2].nomdujoueur, new Vector2(60, 220 + hauteurtexte), myColor);
                    spriteBatch.DrawString(font, progression_texte + sauvegardes.sauvegardes[0].avancementdujeu + "%", new Vector2(60, 260 + hauteurtexte), myColor);
                }
                else
                {
                    spriteBatch.DrawString(font, "3: " + emplacementlibre, new Vector2(60, 220 + hauteurtexte), vide);
                    spriteBatch.DrawString(font, "", new Vector2(60, 260 + hauteurtexte), myColor);
                }
            }
            #endregion

            #region Pause
            if (mode == Mode.Pause)
            {
                spriteBatch.DrawString(font, reprendre, new Vector2(60, 60 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, option, new Vector2(60, 100 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, sauvegarder, new Vector2(60, 140 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, quitter, new Vector2(60, 180 + hauteurtexte), myColor);
            }
            #endregion

            #region Choix editeur de carte
            if(mode == Mode.Choixediteurdemap)
            {
                spriteBatch.DrawString(font, nouvellecarte, new Vector2(60, 60 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, modifiercarte, new Vector2(60, 100 + hauteurtexte), myColor);
            }
            #endregion

            #region Nouvelle Carte
            if (mode == Mode.NouvelleCarte)
            {
                spriteBatch.DrawString(font, questiontaillecarte, new Vector2(60, 20 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, largeurcarte + carte_largeur, new Vector2(60, 60 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, hauteurcarte + carte_hauteur, new Vector2(60, 100 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, creercarte, new Vector2(60, 140 + hauteurtexte), myColor);

            }
            #endregion

            #region Modifier Carte
            if (mode == Mode.ModifierCarte)
            {
                spriteBatch.DrawString(font, quellecarte, new Vector2(60, 20 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, numerocarte.ToString(), new Vector2(60, 60 + hauteurtexte), myColor);
                spriteBatch.DrawString(font, modifiercarte, new Vector2(60, 100 + hauteurtexte), myColor);
            }
            #endregion

            #region Sauvegarde
            if (mode == Mode.Sauvegarde)
            {
                Color vide = new Color(100, 100, 100);
                if (sauvegardes.sauvegardes[0].etat == GestionSauvegarde.TypeSauvegarde.PartieSauvegarde)
                {
                    spriteBatch.DrawString(font, "1: " + sauvegardes.sauvegardes[0].nomdujoueur, new Vector2(60, 60 + hauteurtexte), myColor);
                    spriteBatch.DrawString(font, progression_texte + sauvegardes.sauvegardes[0].avancementdujeu + "%", new Vector2(60, 100 + hauteurtexte), myColor);
                }
                else
                {
                    spriteBatch.DrawString(font, "1: " + emplacementlibre, new Vector2(60, 60 + hauteurtexte), vide);
                    spriteBatch.DrawString(font, "", new Vector2(60, 100 + hauteurtexte), myColor);
                }

                if (sauvegardes.sauvegardes[1].etat == GestionSauvegarde.TypeSauvegarde.PartieSauvegarde)
                {
                    spriteBatch.DrawString(font, "2: " + sauvegardes.sauvegardes[1].nomdujoueur, new Vector2(60, 140 + hauteurtexte), myColor);
                    spriteBatch.DrawString(font, progression_texte + sauvegardes.sauvegardes[1].avancementdujeu + "%", new Vector2(60, 180 + hauteurtexte), myColor);
                }
                else
                {
                    spriteBatch.DrawString(font, "2: " + emplacementlibre, new Vector2(60, 140 + hauteurtexte), vide);
                    spriteBatch.DrawString(font, "", new Vector2(60, 180 + hauteurtexte), myColor);
                }

                if (sauvegardes.sauvegardes[2].etat == GestionSauvegarde.TypeSauvegarde.PartieSauvegarde)
                {
                    spriteBatch.DrawString(font, "3: " + sauvegardes.sauvegardes[2].nomdujoueur, new Vector2(60, 220 + hauteurtexte), myColor);
                    spriteBatch.DrawString(font, progression_texte + sauvegardes.sauvegardes[0].avancementdujeu + "%", new Vector2(60, 260 + hauteurtexte), myColor);
                }
                else
                {
                    spriteBatch.DrawString(font, "3: " + emplacementlibre, new Vector2(60, 220 + hauteurtexte), vide);
                    spriteBatch.DrawString(font, "", new Vector2(60, 260 + hauteurtexte), myColor);
                }
            }
            #endregion

            message.Draw(spriteBatch);

            if (mode == Mode.EditeurDeCarte)
            {
                editeurdecarte.Affichage(spriteBatch);
                curseur.Draw(spriteBatch);
            }
            else
                spriteBatch.Draw(selecteur, new Rectangle(rectselecteur.X, rectselecteur.Y + hauteurtexte, rectselecteur.Width, rectselecteur.Height), Color.White);
        }