Exemple #1
0
        public Jeu(Programme p_programme) : base(new ÉtatJeu(p_programme))
        {
            m_vies = new List <ObjetDessinable>();

            Fond = Constantes.Fond;

            Texte oneUp = new Texte(new Coordonnée(QuartX, 25), "1UP", Lettres, 25);

            m_pointage = new Texte(new Coordonnée(QuartX, 50), Partie.Instance.Score.ToString("D3"), Lettres, 25);

            Texte record = new Texte(new Coordonnée(3 * QuartX, 25), "Record", Lettres, 25);

            m_record = new Texte(new Coordonnée(3 * QuartX, 50), Partie.Instance.Record.ToString("D3"), Lettres, 25);

            Texte niveau = new Texte(new Coordonnée(3 * QuartX + 100, 25), "Niveau", Lettres, 25);

            m_niveau = new Texte(new Coordonnée(3 * QuartX + 100, 50), Partie.Instance.Niveau.ToString("D3"), Lettres, 25);

            AjouterEnsembleÉléments(new ObjetDessinable[] { oneUp, m_pointage, record, m_record, niveau, m_niveau });

            Bouton aide = new Bouton(new Coordonnée(CentreX, 37), new Dimension(200, 55),
                                     PacMan, JauneFonce, "AIDE (F1)", 30, ÉtatProgramme.TypeActionBouton.Pause);

            AjouterBouton(aide);

            MettreAJourVies();
        }
Exemple #2
0
        /// <summary>
        /// Permet de construire l'interface graphique (boutons, menu, texte, dessins)
        /// </summary>
        public Introduction(Programme p_programme) : base(new ÉtatIntroduction(p_programme))
        {
            Fond = Constantes.Fond;

            m_logoIntro = new List <Texte>();

            ConstruireLogo();

            Texte texteDemarrer = new Texte(new Coordonnée(CentreX, 3 * QuartY + 140), "Vous pouvez appuyer sur Enter pour démarrer ou ESC pour quitter", Blanc, 15);

            AjouterÉlément(texteDemarrer);

            Bouton btnDémarrer = new Bouton(new Coordonnée(CentreX, 3 * QuartY + 60),
                                            new Dimension(200, 100), PacMan, JauneFonce,
                                            "Démarrer", 30, ÉtatProgramme.TypeActionBouton.Information);

            AjouterBouton(btnDémarrer);

            m_déplacement = Déplacement.Droite;

            Partie.Instance.Pacman.MettreAJourCoordonnée(new Coordonnée(-200, CentreY - 90));
            Partie.Instance.Blinky.MettreAJourCoordonnée(new Coordonnée(-250, CentreY - 90));
            Partie.Instance.Pinky.MettreAJourCoordonnée(new Coordonnée(-275, CentreY - 90));
            Partie.Instance.Inky.MettreAJourCoordonnée(new Coordonnée(-300, CentreY - 90));
            Partie.Instance.Clyde.MettreAJourCoordonnée(new Coordonnée(-325, CentreY - 90));
        }
Exemple #3
0
        public GameMain()
        {
            GLOBALS_GAME_RESSOURCES.GRAPHICS = new GraphicsDeviceManager(this);

            Content.RootDirectory = "Content";
            ScreenManager.game    = this;
            ScreenManager.Initialize();

            //Component
            OpeningScreen os     = new OpeningScreen(this);
            FPS_GC        fps    = new FPS_GC(this);
            Camera        camera = new Camera(this);
            GameScreen    gs     = new GameScreen(this);

            gs.Cam = camera;

            ScreenManager.add(os);
            ScreenManager.add(gs);

            Components.Add(os);
            Components.Add(camera);

            //Menu
            gameMenu = new Menu(this);

            b_arrowTower = new Bouton(this);
            b_slowTower  = new Bouton(this);

            Components.Add(gameMenu);
            Components.Add(b_arrowTower);
            Components.Add(b_slowTower);
        }
Exemple #4
0
        private void CreerBoutons()
        {
            Precedent = new Bouton(new Coordonnée(150, 625), new Dimension(200, 50),
                                   CeriseFond, CerisePédon, MessagePrecedent, 30, TypeActionBouton.Précédent);
            AjouterBouton(Precedent);

            Suivant = new Bouton(new Coordonnée(550, 625), new Dimension(200, 50),
                                 MelonFond, MelonPédon, MessageDemarrer, 30, TypeActionBouton.DémarrerPartie);
            AjouterBouton(Suivant);
        }
Exemple #5
0
        public void LoadMediator()
        {
            Formulaire Formulaire = new Formulaire();

            Formulaire.AjouteControle(new ZoneSaisie("Nom"));
            Formulaire.AjouteControle(new ZoneSaisie("Prénom"));
            PopupMenu menu = new PopupMenu("Coemprunteur");

            menu.AjouteOption("sans coemprunteur");
            menu.AjouteOption("avec coemprunteur");
            Formulaire.AjouteControle(menu);
            Formulaire.MenuCoemprunteur = menu;
            Bouton LeBouton = new Bouton("OK");

            Formulaire.AjouteControle(LeBouton);
            Formulaire.BoutonOK = LeBouton;
            Formulaire.ajouteControleCoemprunteur(new ZoneSaisie("Nom du coemprunteur"));
            Formulaire.ajouteControleCoemprunteur(new ZoneSaisie("Prénom du coemprunteur"));
            Formulaire.saisie();
        }
Exemple #6
0
      void testMediator()
      {
          Formulaire formulaire = new Formulaire();

          formulaire.ajouteControle(new ZoneSaisie("Nom"));
          formulaire.ajouteControle(new ZoneSaisie("Prénom"));
          PopupMenu menu = new PopupMenu("Coemprunteur");

          menu.ajouteOption("sans coemprunteur");
          menu.ajouteOption("avec coemprunteur");
          formulaire.ajouteControle(menu);
          formulaire.menuCoemprunteur = menu;
          Bouton bouton = new Bouton("OK");

          formulaire.ajouteControle(bouton);
          formulaire.boutonOK = bouton;
          formulaire.ajouteControleCoemprunteur(new ZoneSaisie(
                                                    "Nom du coemprunteur"));
          formulaire.ajouteControleCoemprunteur(new ZoneSaisie(
                                                    "Prénom du coemprunteur"));
          formulaire.saisie();
      }
        public PartieFinie(Programme p_programme, bool p_victoire) : base(new ÉtatPartieFinie(p_programme))
        {
            m_victoire = p_victoire;
            Fond       = Constantes.Fond;
            TextAlign(CENTER);
            String texteScore = "Votre score : " + Partie.Instance.Score.ToString("D3");
            Texte  score      = new Texte(new Coordonnée(CentreX, QuartY * 3 - 50), texteScore, Inky, 50);

            Texte gameOver = new Texte(new Coordonnée(CentreX, CentreY), p_victoire ? Victoire : GameOver, p_victoire ? MelonFond : Blinky, 100);

            String texteRecord = "Record : " + Partie.Instance.Record.ToString("D3");
            Texte  record      = new Texte(new Coordonnée(CentreX, QuartY), texteRecord, Clyde, 50);

            if (p_victoire)
            {
                Texte  texteSuivant = new Texte(new Coordonnée(QuartX * 3, Hauteur - 40), "Suivant", MelonFond, 20);
                Bouton suivant      = new Bouton(new Coordonnée(QuartX * 3, Hauteur - 100), new Dimension(75, 75),
                                                 MelonFond, MelonPédon, "⇢", 50, ÉtatProgramme.TypeActionBouton.DémarrerPartie);

                AjouterÉlément(texteSuivant);
                AjouterBouton(suivant);
            }

            Texte informationsTouche = new Texte(new Coordonnée(CentreX, 3 * QuartY + 160), p_victoire ? MessageToucheVictoire : MessageToucheDefaite, Blanc, 15);

            AjouterÉlément(informationsTouche);

            Texte  texteRecommencer = new Texte(new Coordonnée(CentreX, Hauteur - 40), "Recommencer", PacMan, 20);
            Bouton recommencer      = new Bouton(new Coordonnée(CentreX, Hauteur - 100), new Dimension(75, 75),
                                                 PacMan, JauneFonce, "⇣", 50, ÉtatProgramme.TypeActionBouton.Information);

            Texte  texteQuitter = new Texte(new Coordonnée(QuartX, Hauteur - 40), "Quitter", CeriseFond, 20);
            Bouton quitter      = new Bouton(new Coordonnée(QuartX, Hauteur - 100), new Dimension(75, 75), CeriseFond,
                                             CerisePédon, "⇠", 50, ÉtatProgramme.TypeActionBouton.TerminéPartie);

            AjouterEnsembleÉléments(new ObjetDessinable[] { score, gameOver, record, texteRecommencer, texteQuitter });
            AjouterBouton(recommencer);
            AjouterBouton(quitter);
        }
Exemple #8
0
        public void Cliquer(Coordonnée p_coordonnée)
        {
            Bouton button = ListeBoutons.Find(b => b.EstParDessus(p_coordonnée));

            if (button != null)
            {
                switch (button.ObtenirAction())
                {
                case ÉtatProgramme.TypeActionBouton.Information:
                    Actions.AfficherInformations();
                    break;

                case ÉtatProgramme.TypeActionBouton.Introduction:
                    Actions.AfficherIntroduction();
                    break;

                case ÉtatProgramme.TypeActionBouton.DémarrerPartie:
                    Actions.DémarrerPartie();
                    break;

                case ÉtatProgramme.TypeActionBouton.TerminéPartie:
                    Actions.TerminéPartie(false);
                    break;

                case ÉtatProgramme.TypeActionBouton.Précédent:
                    Actions.Précédent();
                    break;

                case ÉtatProgramme.TypeActionBouton.Pause:
                    Actions.Pause();
                    break;

                default: throw new InvalidProgramException("Le bouton contient un TypeActionBouton non implémenter");
                }
            }
        }
Exemple #9
0
 public void AjouterBouton(Bouton p_bouton)
 {
     ListeBoutons.Add(p_bouton);
 }
    public void _SliderValueChange()
    {
        if (ringMenu_Manager != null)
        {
            ringMenu_Manager._OnSelected -= RingMenu_Manager__OnSelected;
            ringMenu_Manager._OnEnter    -= RingMenu_Manager__OnEnter;
            ringMenu_Manager._OnExit     -= RingMenu_Manager__OnExit;
        }

        DestroyImmediate(ringMenu);

        int R0_B = (int)_sld_anneau0_btn.value;
        int R1_B = (int)_sld_anneau1_btn.value;
        int R2_B = (int)_sld_anneau2_btn.value;
        int R3_B = (int)_sld_anneau3_btn.value;
        int R4_B = (int)_sld_anneau4_btn.value;

        int nbrButtons = R0_B + R1_B + R2_B + R3_B + R4_B;

        _txt_btns.text = nbrButtons + " boutons";

        colors = SetColors(nbrButtons, false, false, 0.8f);

        float R0_R  = _sld_anneau0_taille.value;
        float R1_R  = _sld_anneau1_taille.value;
        float R2_R  = _sld_anneau2_taille.value;
        float R3_R  = _sld_anneau3_taille.value;
        float R4_R  = _sld_anneau4_taille.value;
        float marge = _sld_marge.value;

        Font arial = Resources.GetBuiltinResource(typeof(Font), "Arial.ttf") as Font;

        try
        {
            List <int> btns = new List <int> {
                R0_B, R1_B, R2_B, R3_B, R4_B
            };
            List <float> epaisseurs = new List <float> {
                R0_R, R1_R, R2_R, R3_R, R4_R
            };
            List <Color[]> couleurs = new List <Color[]> {
                colors, colors, colors, colors, colors
            };

            //Dictionary<int, Dictionary<int, Bouton>> boutons = new Dictionary<int, Dictionary<int, Bouton>>();
            List <Dictionary <int, Bouton> > boutons = new List <Dictionary <int, Bouton> >();

            //int k = 0;
            foreach (int ring_count in btns)
            {
                boutons.Add(new Dictionary <int, Bouton>());
                //boutons.Add(k, new Dictionary<int, Bouton>());
                for (int i = 0; i < ring_count; i++)
                {
                    Bouton bouton = new Bouton();
                    bouton.index                      = i;
                    bouton.name                       = i.ToString();
                    bouton.label                      = "";// RandomString(15);// + "\n" + RandomString(15);
                    bouton.label_color                = RingButton_Manager.ColorIntensity(colors[i], 0.2f);
                    bouton.label_font                 = arial;
                    bouton.label_fontStyle            = FontStyle.Bold;
                    bouton.label_fontSize             = 30;
                    bouton.label_resizeTextForBestFit = true;

                    bouton.icone = (Texture2D)textures[i];

                    boutons[boutons.Count - 1].Add(i, bouton);
                    //boutons[k].Add(i, bouton);
                }
                //k++;
            }

            //ringMenu = RingMenu._DrawRingMenu(btns, epaisseurs, marge, couleurs, null);
            ringMenu         = RingMenu._DrawRingMenu(boutons, epaisseurs, marge, couleurs);
            ringMenu_Manager = ringMenu.GetComponent <RingMenu_Manager>();

            ringMenu_Manager._OnSelected += RingMenu_Manager__OnSelected;
            ringMenu_Manager._OnEnter    += RingMenu_Manager__OnEnter;
            ringMenu_Manager._OnExit     += RingMenu_Manager__OnExit;

            _txt_debug.text = "";
        }
        catch (Exception ex)
        {
#if UNITY_EDITOR
            Debug.LogError(ex);
#else
            _txt_debug.text = ex.Message + "\n\n" + ex.StackTrace;
#endif
        }

        ringMenu.transform.SetPositionAndRotation(Spawn.transform.position, Spawn.transform.rotation);
        ringMenu.transform.localScale = Spawn.transform.localScale;
    }