Example #1
0
        public override void Initialize()
        {
            //EstPremierSaut = true;
            //Tps = 0;

            //Vector3 positionTmp = new Vector3(0, 0, 0);

            //ListePositionsRandom = new List<Vector3>();
            //ListePositionsRandom.Add(positionTmp);

            générateurAléatoire = new Random();
            Vector3 positionObjet = new Vector3(96, 16.37255f, -96);

            //Vector3 positionObjet = new Vector3(100, 20, -100);
            ÉtatJeu      = ÉtatsJeu.JEU3D;
            ÉtatJeuTexte = new TexteFixe(Game, new Vector2(5, 5), "GameState : " + ÉtatJeu.ToString());
            //LoadSauvegarde();
            Game.Components.Add(new ArrièrePlan(Game, "BackGroundNuage"));
            Game.Components.Add(new Afficheur3D(Game));
            TerrainDeJeu = new TerrainAvecBase(Game, 1f, Vector3.Zero, Vector3.Zero, new Vector3(256, 17, 256), "TerrainPokemon", "DétailsTerrain", 5, INTERVALLE_MAJ_STANDARD);
            Game.Components.Add(TerrainDeJeu);
            Game.Services.AddService(typeof(TerrainAvecBase), TerrainDeJeu);

            //Game.Services.AddService(typeof(Pokeball), Projectile);

            Game.Components.Add(LeJoueur);
            Game.Services.AddService(typeof(Player), LeJoueur);
            GestionInput = Game.Services.GetService(typeof(InputManager)) as InputManager;
            CaméraJeu    = Game.Services.GetService(typeof(Caméra)) as CaméraSubjective;
            (CaméraJeu as CaméraSubjective).Cible = new Vector3(LeJoueur.Position.X, LeJoueur.Position.Y + 5, LeJoueur.Position.Z);
            PositionBoxMessage = new Vector2(0, Game.Window.ClientBounds.Height - Cadre.TAILLE_TILE * 6);
            HauteurBoxMessage  = Cadre.HAUTEUR_BOX_STANDARD;
            LargeurBoxMessage  = Game.Window.ClientBounds.Width / Cadre.TAILLE_TILE;
            Game.Components.Add(ÉtatJeuTexte);
        }
Example #2
0
        public override void Update(GameTime gameTime)
        {
            ÉtatJeuTexte.RemplacerMessage("GameState : " + ÉtatJeu.ToString());

            GérerClavier();
            Vector3 positionPokéball = new Vector3(LeJoueur.Position.X + 1.2f, LeJoueur.Position.Y + 0.6f, LeJoueur.Position.Z);
            Vector3 rotationObjet    = new Vector3(0, MathHelper.PiOver2, 0);

            AjouterProjectile(positionPokéball, rotationObjet);

            GérerÉtat();
            if (Game.Components.Count < POKEMON_SUR_LE_TERRAIN)
            {
                if (Game.Components.Count(p => p is Afficheur3D) == 2)
                {
                    Game.Components.Add(new Afficheur3D(Game));
                }
                AjoutPokemonsRandom();
            }
            if (GestionInput.EstNouvelleTouche(Keys.N) || GestionInput.EstNouveauX_newpokemon())
            {
                AjoutPokemonsRandom();
            }

            EnleverProjectile();

            //float TempsÉcoulé = (float)gameTime.ElapsedGameTime.TotalSeconds;
            //TempsÉcouléDepuisMAJ += TempsÉcoulé;

            //if (TempsÉcouléDepuisMAJ >= 5)
            //{
            //    EffectuerMiseÀJour();
            //    //TempsÉcouléDepuisMAJ -= IntervalleMAJ;
            //    TempsÉcouléDepuisMAJ = 0;
            //}

            base.Update(gameTime);
        }
Example #3
0
        static ÉtatJeu AnalyserGrille(char[,] tabGrille)
        {
            ÉtatJeu résultat = ÉtatJeu.EnCours;

            for (int ligne = 0; ligne < tabGrille.GetLength(0) && résultat == ÉtatJeu.EnCours; ++ligne)
            {
                if (LigneGagnante(tabGrille, ligne))
                {
                    résultat = DéterminerGagnantSelon(tabGrille[ligne, 0]);
                }
            }

            if (résultat == ÉtatJeu.EnCours)
            {
                for (int colonne = 0; colonne < tabGrille.GetLength(1) && résultat == ÉtatJeu.EnCours; ++colonne)
                {
                    if (ColonneGagnante(tabGrille, colonne))
                    {
                        résultat = DéterminerGagnantSelon(tabGrille[0, colonne]);
                    }
                }
            }

            if (résultat == ÉtatJeu.EnCours)
            {
                if (DiagonaleGagnante(tabGrille))
                {
                    résultat = DéterminerGagnantSelon(tabGrille[1, 1]);
                }
            }

            if (résultat == ÉtatJeu.EnCours && CasePleine(tabGrille))
            {
                résultat = ÉtatJeu.Nulle;
            }
            return(résultat);
        }
Example #4
0
        static void Main(string[] args)
        {
            const int nbe = 3;
            Random    rnd = new Random();

            char[,] tabGrille = new char[nbe, nbe];
            char[]  Case = { 'X', 'O' };
            int     tour = 0;
            Case    maCase;
            ÉtatJeu partie = ÉtatJeu.EnCours;
            int     choix  = 0;

            AfficherMenu();
            InitialiserGrille(tabGrille);
            while (partie == ÉtatJeu.EnCours)
            {
                AfficherGrille(tabGrille);
                choix = Convert.ToInt32(Console.ReadLine());

                if (choix == 2)
                {
                    maCase = ChoisirCaseLibre(tabGrille, rnd);
                }
                else
                {
                    maCase = LireCaseLibre(tabGrille);
                }
                Console.WriteLine("{0} a choisi ({1},{2})", choix, maCase.X, maCase.Y);
                tabGrille[maCase.X, maCase.Y] = Case[tour % 2];
                partie = AnalyserGrille(tabGrille);
                ++tour;
            }
            Console.WriteLine("La partie s'est terminée en {0} tours", tour);
            AfficherGrille(tabGrille);
            switch (partie)
            {
            case ÉtatJeu.Nulle:
                Console.WriteLine("Partie nulle");
                break;

            case ÉtatJeu.OGagne:
                Console.WriteLine("Les 'O' ont gagné");
                break;

            case ÉtatJeu.XGagne:
                Console.WriteLine("Les 'X' ont gagné");
                break;
            }
            Console.WriteLine(" quelle option voulez vous?");
            Console.WriteLine(" 1- rejouer une nouvelle partie");
            Console.WriteLine(" 2- quitter le  programme ");
            choix = Convert.ToInt32(Console.ReadLine());
            if (choix == 1)
            {
                do
                {
                    while (partie == ÉtatJeu.EnCours)
                    {
                        AfficherGrille(tabGrille);
                        choix = Convert.ToInt32(Console.ReadLine());

                        if (choix == 2)
                        {
                            maCase = ChoisirCaseLibre(tabGrille, rnd);
                        }
                        else
                        {
                            maCase = LireCaseLibre(tabGrille);
                        }
                        Console.WriteLine("{0} a choisi ({1},{2})", choix, maCase.X, maCase.Y);
                        tabGrille[maCase.Y, maCase.X] = Case[tour % 2];
                        partie = AnalyserGrille(tabGrille);
                        ++tour;
                    }
                    Console.WriteLine("La partie s'est terminée en {0} tours", tour);
                    AfficherGrille(tabGrille);
                    switch (partie)
                    {
                    case ÉtatJeu.Nulle:
                        Console.WriteLine("Partie nulle");
                        break;

                    case ÉtatJeu.OGagne:
                        Console.WriteLine("Les 'O' ont gagné");
                        break;

                    case ÉtatJeu.XGagne:
                        Console.WriteLine("Les 'X' ont gagné");
                        break;
                    }
                    Console.WriteLine(" quelle option voulez vous?");
                    Console.WriteLine(" 1- rejouer une nouvelle partie");
                    Console.WriteLine(" 2- quitter le  programme ");
                } while (choix != 1);
            }
            if (choix == 2)
            {
                Console.WriteLine("merci! a la prochaine");
            }
        }