示例#1
0
        public MoteurJeu(MoteurSysteme moteurSysteme, MoteurPhysique moteurPhysique)
        {
            statusJeu = Status.MenuAccueil;

            meteo = Meteo.Neige;

            menuManager = new MenuManager(this);

            this.moteurPhysique = moteurPhysique;
            this.moteurSysteme = moteurSysteme;

            evenementUtilisateur = new EvenementUtilisateur();

            menuAccueuilFond = new Sprite(new Rectangle(0, 0, Constante.WindowWidth, Constante.WindowHeight));

            carte = new Carte(moteurPhysique, moteurSysteme.carteArray, Vector2.Zero, 64, 64, 32, 16);

            carte.SetCarte();

            personnage = new Personnage("Meta", new Vector2(3, 3), moteurPhysique.collisionCarte);
            monstres.Add(new Monstre(MonstreType.rondoudou, new Vector2(10, 8), moteurPhysique.collisionCarte));
            //monstres.Add(new Monstre(MonstreType.brasegali, new Vector2(3, 5), moteurPhysique.collisionCarte));

            hud = new HUD(personnage);

            animations.Add(new Animation());

            combat = new Combat(moteurPhysique, evenementUtilisateur);
        }
示例#2
0
        public Combat(MoteurPhysique moteurPhysique, EvenementUtilisateur evenementUtilisateur)
        {
            this.moteurPhysique = moteurPhysique;
            this.evenementUtilisateur = evenementUtilisateur;
            camera = new Vector2(14*32 - 16 + 8, 0);

            phase = PhaseCombat.Placement;

            hud = new HudCombat(this);
        }
示例#3
0
        public void Update(EvenementUtilisateur user)
        {
            if (boutonLancerCombat.isActive)
            {
                int action = boutonLancerCombat.Update(user);

                if (action == 0)
                {
                    combat.phase = PhaseCombat.Combat;
                    boutonLancerCombat.Desactiver();
                }
            }

            if (combat.phase == PhaseCombat.Fin)
                if (user.mouseState.LeftButton == ButtonState.Pressed)
                {
                    combat.joueur.FinCombat(300);
                    combat.isActive = false;
                }
        }
示例#4
0
        public void UpdateMenuJeu(EvenementUtilisateur user)
        {
            int action = menuActif.Update(user);

            if (action != -1)
            {
                if (menuPausePrincipal.isActive)
                {
                    if (action == 0)
                        isMenuJeuActif = false;
                    else if (action == 4)
                    {
                        moteurJeu.statusJeu = Status.MenuAccueil;
                        menuActif = menuAccueilPrincipal.Activer();
                    }
                    else
                        menuActif = menuPausePrincipal.menuFils[action - 1].Activer();
                }
                else if (menuPauseReglage.isActive)
                {
                    if (action == 0)
                        menuActif = menuPauseReglage.Desactiver();
                }
                else if (menuPauseMeteo.isActive)
                {
                    if (action == 3)
                        menuActif = menuPauseMeteo.Desactiver();
                }
                else if (menuPauseSaison.isActive)
                {
                    if (action == 4)
                        menuActif = menuPauseMeteo.Desactiver();
                }
            }
        }
示例#5
0
        public void UpdateMenuAccueil(EvenementUtilisateur user)
        {
            int action = menuActif.Update(user);

            if (action != -1)
            {
                if (menuAccueilPrincipal.isActive)
                {
                    if (action == 1)
                    {
                        moteurJeu.statusJeu = Status.EnJeu;
                        menuActif = menuPausePrincipal.Activer();
                    }
                    else if (action == 2)
                        moteurJeu.statusJeu = Status.Quitter;
                    else
                        menuActif = menuAccueilPrincipal.menuFils[0].Activer();
                }
                else if (menuAccueilReglage.isActive)
                {
                    if (action == 3)
                        menuActif = menuAccueilReglage.Desactiver();
                    else
                        menuActif = menuAccueilReglage.menuFils[action].Activer();
                }
                else if (menuAccueilVideo.isActive)
                {
                    if (action == 0)
                        menuActif = menuAccueilVideo.Desactiver();
                }
                else if (menuAccueilAudio.isActive)
                {
                    if (action == 0)
                        MoteurAudio.songVolume = (MoteurAudio.songVolume + 1) % 101;
                    else if (action == 1)
                        MoteurAudio.soundVolume = (MoteurAudio.soundVolume + 1) % 101;
                    else if (action == 2)
                        menuActif = menuAccueilAudio.Desactiver();

                    menuAccueilAudio.ChangeTitle(0, "Musique : " + MoteurAudio.songVolume);
                    menuAccueilAudio.ChangeTitle(1, "Son : " + MoteurAudio.soundVolume);
                }
                else if (menuAccueilRaccourcis.isActive)
                {
                    if (action == 0)
                        menuActif = menuAccueilRaccourcis.Desactiver();
                }
            }
        }
示例#6
0
        public int Update(EvenementUtilisateur user)
        {
            foreach (Bouton bouton in boutons)
                bouton.Update(new Vector2(user.mouseState.X, user.mouseState.Y));

            if (user.isLeftClicked())
            {
                int i = 0;
                while (i < boutons.Count && !boutons[i].isHover)
                    i++;

                if (i == boutons.Count)
                    return -1;
                else
                {

                    MoteurAudio.PlaySound("Click");
                    return i;
                }

            }
            else
                return -1;
        }