Exemplo n.º 1
0
        /// <summary>
        /// Affiche et gère l'écran de paramétrage d'une nouvelle partie
        /// </summary>
        public static void MenuDemarrerNouvellePartie()
        {
            Console.Clear();
            Joueur.Start();
            // On met à jour l'index de sauvegarde pour éviter d'écraser une ancienne partie
            Sauvegarde.NomFichierIndex = Sauvegarde.RecupererDernierIndexSauvegarde() + 1;


            // Initialisation des grilles
            Grille.GrilleJ1           = new int[Grille.LargeurGrille, Grille.HauteurGrille];
            Grille.GrilleDecouverteJ1 = new int[Grille.LargeurGrille, Grille.HauteurGrille];

            Grille.GrilleJ2           = new int[Grille.LargeurGrille, Grille.HauteurGrille];
            Grille.GrilleDecouverteJ2 = new int[Grille.LargeurGrille, Grille.HauteurGrille];

            // Initialisation des données des bateaux des joueurs
            Bateau.PositionBateauxJ1 = new int[Bateau.NombreTypesBateaux, 4];
            Bateau.VieBateauxJ1      = new int[Bateau.NombreTypesBateaux];

            Bateau.PositionBateauxJ2 = new int[Bateau.NombreTypesBateaux, 4];
            Bateau.VieBateauxJ2      = new int[Bateau.NombreTypesBateaux];

            Bateau.PlacerBateauxAuHasard(1);
            Bateau.PlacerBateauxAuHasard(2);

            //TODO: modifier ce code si on souhaite ajouter un mode JCJ
            Console.WriteLine("======= Nouvelle partie =======");
            Grille.AfficherGrille(Grille.GrilleJ1);
            Console.WriteLine("-------------------------------");
            ConsoleKey key = default(ConsoleKey);

            do
            {
                if (key != default(ConsoleKey))
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                }
                Console.WriteLine("Etes-vous satisfait de ce placement ?");
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("(O)ui | N(on)");
                Console.ResetColor();
                key = Console.ReadKey(false).Key;
            }while (key != ConsoleKey.O && key != ConsoleKey.N);
            Program.ViderTampon();
            if (key == ConsoleKey.O)
            {
                Jeu.DeroulementPartie();
            }
            else
            {
                Jeu.MenuDemarrerNouvellePartie();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Affichage et gestion de l'interaction du joueur du menu de lancement d'une nouvelle partie
        /// </summary>
        public static void MenuNouvellePartie()
        {
            Console.Clear();
            Console.WriteLine("======= Nouvelle partie =======");
            ConsoleKey key = default(ConsoleKey);

            do
            {
                if (key != default(ConsoleKey))
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                }
                Console.WriteLine("Veuillez choisir une option ci-dessous");
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("(E) Commencer une partie contre l'ordinateur niveau Enfant \n(F) Commencer une partie contre l'ordinateur niveau Facile \n(N) Commencer une partie contre l'ordinateur niveau Normal \n(R)etour");
                Console.ResetColor();
                key = Console.ReadKey().Key;
            }while (key != ConsoleKey.F && key != ConsoleKey.N && key != ConsoleKey.R && key != ConsoleKey.E);
            Program.ViderTampon();
            if (key == ConsoleKey.R)
            {
                Jeu.MenuPrincipal();
            }
            else if (key == ConsoleKey.F)
            {
                Jeu.NiveauJeu = Niveau.FACILE;
                Jeu.MenuDemarrerNouvellePartie();
            }
            else if (key == ConsoleKey.N)
            {
                Jeu.NiveauJeu = Niveau.NORMAL;
                Jeu.MenuDemarrerNouvellePartie();
            }
            else if (key == ConsoleKey.E)
            {
                Jeu.NiveauJeu = Niveau.ENFANT;
                Jeu.MenuDemarrerNouvellePartie();
            }
        }