Esempio n. 1
0
 public override void Initialize()
 {
     test = new Afficheur3D(Game);
     test.Initialize();
     NbSommets     = NB_TRIANGLES_MURS + 2;
     NbSommetsMurs = NB_TRIANGLES_MURS + 2;
     NbSommetsToit = NB_TRIANGLES_TOIT * NB_SOMMETS_PAR_TRIANGLE;
     CréerTableauSommets();
     BoxDeCollision = new BoundingBox(PositionInitiale - new Vector3(Étendue.X / 2f, 0, Étendue.Z / 2f) * HomothétieInitiale - new Vector3(0, PositionInitiale.Y, 0), PositionInitiale + new Vector3(Étendue.X / 2f, 0, Étendue.Z / 2f) * HomothétieInitiale - new Vector3(0, PositionInitiale.Y, 0) /*HomothétieInitiale*Étendue.X / 2*/);
     base.Initialize();
     Visible = false;
 }
Esempio n. 2
0
        void CommencerPartie()
        {
            Chanson.Play();
            CaméraJeu.ResetCaméra(PositionCaméra, CibleCaméra, OVCaméra);
            TempsRestantB = TempsDePartie;
            TempsRestantN = TempsDePartie;
            TempsÉcrit    = ((int)(TempsDePartie / 60)).ToString() + ":" + ((int)(TempsDePartie % 60)).ToString();

            ArrièrePlanDéroulant.ModifierActivation();
            Components.Add(PartiEnCours   = new Partie(this, TempsDePartie, NomMap, CouleursÉchiquier, OrigineÉchiquier));
            Components.Add(UnAfficheurFPS = new AfficheurFps(this, "Arial", Color.Blue, INTERVALLE_CALCUL_FPS));
            Components.Add(TempsB         = new TexteAffichable(this, "Arial", TempsÉcrit, new Vector2((GraphicsDevice.Viewport.Width - UnAfficheurFPS.PositionDroiteBas.X), UnAfficheurFPS.PositionDroiteBas.Y), Color.White, 1f));
            Components.Add(TempsN         = new TexteAffichable(this, "Arial", TempsÉcrit, new Vector2((GraphicsDevice.Viewport.Width - UnAfficheurFPS.PositionDroiteBas.X), UnAfficheurFPS.PositionDroiteBas.Y), Color.Black, 1f));
            Components.Add(unAfficheur3D  = new Afficheur3D(this));
        }
Esempio n. 3
0
        protected override void Update(GameTime gameTime)
        {
            float tempsÉcoulé = (float)gameTime.ElapsedGameTime.TotalSeconds;

            TempsÉcouléDepuisMAJ += tempsÉcoulé;
            if (TempsÉcouléDepuisMAJ > INTERVALLE_MAJ_STANDARD)
            {
                switch (CurrentGameState)
                {
                case GameState.MenuPrincipal:

                    if (GestionInput.EstNouvelleTouche(Keys.Escape))
                    {
                        this.Exit();
                    }
                    if (B1.Clicked == true)
                    {
                        DéterminerSettings();
                        CommencerPartie();
                        VoilerBoutons(0, 2);
                        CurrentGameState = GameState.EnJeu;
                    }

                    if (B2.Clicked == true)
                    {
                        CurrentGameState = GameState.Options;
                        VoilerBoutons(0, 2);
                        AfficherBoutons(2, 5);
                    }
                    break;

                case GameState.Options:

                    if (B3.Clicked == true)
                    {
                        CurrentGameState = GameState.ClrsÉchiquier;
                        VoilerBoutons(2, 5);
                        AfficherBoutons(7, 11);
                    }
                    if (B4.Clicked == true)
                    {
                        CurrentGameState = GameState.TempsPartie;
                        VoilerBoutons(2, 5);
                        AfficherBoutons(11, 15);
                    }
                    if (B5.Clicked == true)
                    {
                        CurrentGameState = GameState.Musique;
                        VoilerBoutons(2, 5);
                        AfficherBoutons(15, 19);
                    }
                    if (GestionInput.EstNouvelleTouche(Keys.Escape))
                    {
                        CurrentGameState = GameState.MenuPrincipal;
                        VoilerBoutons(2, 5);
                        AfficherBoutons(0, 2);
                    }
                    break;

                case GameState.ClrsÉchiquier:
                    if (B8.Clicked || B9.Clicked || B10.Clicked == true || B11.Clicked == true)
                    {
                        CurrentGameState = GameState.Options;
                        VoilerBoutons(7, 11);
                        AfficherBoutons(2, 5);
                    }
                    break;

                case GameState.TempsPartie:
                    if (B12.Clicked || B13.Clicked || B14.Clicked || B15.Clicked == true)
                    {
                        CurrentGameState = GameState.Options;
                        VoilerBoutons(11, 15);
                        AfficherBoutons(2, 5);
                    }
                    break;

                case GameState.Musique:
                    if (B16.Clicked || B17.Clicked || B18.Clicked || B19.Clicked == true)
                    {
                        CurrentGameState = GameState.Options;
                        VoilerBoutons(15, 19);
                        AfficherBoutons(2, 5);
                    }
                    break;

                case GameState.EnPause:

                    if (GestionInput.EstNouvelleTouche(Keys.Escape) || B6.Clicked == true)
                    {
                        CurrentGameState = GameState.EnJeu;
                        VoilerBoutons(5, 7);
                        Components.Remove(Anand);
                    }
                    if (B7.Clicked == true)
                    {
                        VoilerBoutons(5, 7);
                        QuitterPartie();
                    }
                    break;

                case GameState.EnJeu:


                    if (PartiEnCours.PartieTerminée)
                    {
                        TempsÉcouléDepuisFinDePartie += tempsÉcoulé;
                        if (!Components.Contains(Gagnant))
                        {
                            switch (PartiEnCours.TourActuel.AutreCouleur)
                            {
                            case "White":
                                Components.Add(Gagnant = new TexteAffichable(this, "Arial", VAINQUEUR_N, Color.LightGreen, 0, 3.0f, PROFONDEUR_DEFAUT - 0.5f));
                                break;

                            case "Black":
                                Components.Add(Gagnant = new TexteAffichable(this, "Arial", VAINQUEUR_B, Color.LightGreen, 0, 3.0f, PROFONDEUR_DEFAUT - 0.5f));
                                break;
                            }
                        }

                        Afficheur3D afficheur3DTemporaire;
                        Components.Add(afficheur3DTemporaire = new Afficheur3D(this));
                        if (TempsÉcouléDepuisFinDePartie > TEMPS_FIN_DE_PARTIE)
                        {
                            QuitterPartie();
                            Components.Remove(Gagnant);
                            Components.Remove(afficheur3DTemporaire);
                            TempsÉcouléDepuisFinDePartie = 0;
                        }
                    }
                    else
                    {
                        if (GestionInput.EstNouvelleTouche(Keys.P))
                        {
                            switch (Chanson.State)
                            {
                            case SoundState.Playing:
                                Chanson.Pause();
                                break;

                            case SoundState.Paused:
                                Chanson.Resume();
                                break;
                            }
                        }
                        if (GestionInput.EstNouvelleTouche(Keys.Escape))
                        {
                            CurrentGameState     = GameState.EnPause;
                            Components.Add(Anand = new ZoneDéroulante(this, "Anand", new Rectangle(0, 0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height), INTERVALLE_MAJ_STANDARD));
                            Components.Remove(B6);
                            Components.Remove(B7);
                            Components.Add(B6);
                            Components.Add(B7);
                            AfficherBoutons(5, 7);
                        }

                        if (PartiEnCours.TourActuel.Couleur == "White" && CaméraJeu.aFiniTourner())
                        {
                            TempsRestantB = TempsRestantB - tempsÉcoulé;
                            ChangerTemps("W");
                            string temps = ((int)(TempsRestantB / 60)).ToString() + ":" + ((int)(TempsRestantB % 60)).ToString();
                            TempsB.ModifierTexte(temps);
                        }
                        else
                        {
                            if (CaméraJeu.aFiniTourner())
                            {
                                TempsRestantN = TempsRestantN - tempsÉcoulé;
                                ChangerTemps("N");
                                string temps = ((int)(TempsRestantN / 60)).ToString() + ":" + ((int)(TempsRestantN % 60)).ToString();
                                TempsN.ModifierTexte(temps);
                            }
                        }
                    }
                    break;
                }
                TempsÉcouléDepuisMAJ = 0;
            }


            base.Update(gameTime);
        }