public void CollisionPersoDeplacement(MapManager mapManager, PersonnageJouable perso)
        {
            perso.blochaut = false;
            perso.blocbas = false;
            perso.blocgauche = false;
            perso.blocdroit = false;

            foreach(List<Rectangle> rectangleligne in mapManager.collision)
            {
                foreach (Rectangle rectangle in rectangleligne)
                {
                    if(new Rectangle(rectangle.X + mapManager.xmap, rectangle.Y + mapManager.ymap, rectangle.Width, rectangle.Height).Intersects(perso.collisionhaut))
                    {
                        perso.blochaut = true;
                    }
                    if (new Rectangle(rectangle.X + mapManager.xmap, rectangle.Y + mapManager.ymap, rectangle.Width, rectangle.Height).Intersects(perso.collisionbas))
                    {
                        perso.blocbas = true;
                    }
                    if (new Rectangle(rectangle.X + mapManager.xmap, rectangle.Y + mapManager.ymap, rectangle.Width, rectangle.Height).Intersects(perso.collisiongauche))
                    {
                        perso.blocgauche = true;
                    }
                    if (new Rectangle(rectangle.X + mapManager.xmap, rectangle.Y + mapManager.ymap, rectangle.Width, rectangle.Height).Intersects(perso.collisiondroite))
                    {
                        perso.blocdroit = true;
                    }
                }
            }
        }
 public void Teleportation(PersonnageJouable joueur, MapManager map, GameWindow window)
 {
     if (Coordonnees.Intersects(joueur._rectangle))
     {
         map.ChargementMap(Destination);
         map.Position(xdestination, ydestination, joueur, window);
     }
 }
Beispiel #3
0
 public void NouveauJeu(MapManager map)
 {
     int x = 20;
     int y = 0;
     map.ChargementMap("plage.map");
     map.Position(x, y);
     map.RectangleMaj(-x, -y);
 }
Beispiel #4
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();
        }
Beispiel #5
0
        public void Update(KeyboardState clavier, GameManager gameManager, Game1 game1, MapManager mapManager, GestionJeu jeu)
        {
            #region langue
            if (langue == Langue.Francais)
            {
                solo = "Solo";
                multi = "Multijoueur";
                option = "Options";
                quitter = "Quitter";
                son = "Son: ";
                language = "Langue: ";
                nomlangue = "Francais";
                nouvjeu = "Nouvelle partie";
                charge = "Charger partie";
                homme = "Homme";
                fille = "Femme";
                questionsexe = "Que voulez-vous être?";
                reprendre = "Reprendre";
            }
            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";
            }
            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 = 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)
                    {
                        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.Option;
                    }
                    if (choix == 4)
                        game1.Exit();
                }
                #endregion
            }
            #endregion

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                    if (clavier.IsKeyUp(Keys.Enter) && clavierentrer)
                    {
                        if (choix == 1 && !changement)
                        {
                            jeu.NouveauJeu(mapManager);
                            gameManager.Etat = GameManager.etat.InGame;
                        }

                        if (choix == 2)
                        {

                        }
                        clavierentrer = false;
                    }
                }
                #endregion

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

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

            #region Choix Sexe

            #endregion

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

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

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

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

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

                    clavierentrer = false;
                }
                #endregion
            }
            #endregion
        }
Beispiel #6
0
 public void Teleportation(MapManager map, string carte, int x, int y, PersonnageJouable joueur, GameWindow window)
 {
     map.ChargementMap(carte);
     map.Position(x, y, joueur, window);
 }
Beispiel #7
0
 public void NouveauJeu(MapManager map, PersonnageJouable joueur, GameWindow window)
 {
     map.ChargementMap("plage.map");
     map.Position(50, 200, joueur, window);
 }
        public void MiseAJourTeleporteurs(PersonnageJouable joueur, MapManager map, GameWindow window)
        {
            foreach (Teleporteur teleporteur in teleporteurs)
            {
                if (teleporteur.Arrive == map.actuelmap)
                {
                    teleporteur.MiseAJourCoordonnees(map.xmap, map.ymap);
                }
            }

            foreach (Teleporteur teleporteur in teleporteurs)
            {
                if (teleporteur.Arrive == map.actuelmap)
                {
                    teleporteur.Teleportation(joueur, map, window);
                }
            }
        }
Beispiel #9
0
 public void Teleportation(MapManager map, string carte, int x, int y)
 {
     map.ChargementMap(carte);
     map.Position(x, y);
 }