// This is the method where the computer guesses, no magic numbers here, can accept any Int32 valid input
        internal static void CompGuess(int min, int max)
        {
            lastCurrent = 0;
            numGuesses  = 0;
            current     = (max - min) / 2;
            Console.Clear();
            ConsoleMenuPainter.TextColor(15, 1);
            Console.WriteLine($"\nThe computer guesses your number from {min} to {max}\n");
            ConsoleMenuPainter.TextColor();
            Console.WriteLine("Enter your whole number (I am not going to use this to guess, only to lock in your number.");
            Console.Write("I would NEVER think *you* would try to trick or cheat, but some would): ");
            userNum = Elicit.WholeNumber(min, max);
            low     = min;
            high    = max;
            bool finished = false;

            do
            {
                BisectionSplit(max);
                finished = IsThisYourNumber();
            } while (!finished);
            Console.WriteLine("\n\n");
            ConsoleMenuPainter.TextColor(15, 1);
            Console.Write($"Your number was {current}, it took {numGuesses} times to guess it.");
            ConsoleMenuPainter.TextColor();
            Console.Write("\nHit any key to go to the start menu");
            Console.ReadKey();
        }
Beispiel #2
0
        //Intro text tells the user what this program does
        internal static void Intro()
        {
            ConsoleMenuPainter.TextColor();

            Console.WriteLine("Welcome, this is a number guessing game");
            Console.WriteLine("What would you like to do? (Make your selection with the \n" +
                              "arrow or number key and then hit enter)");
        }
Beispiel #3
0
        public static void MenuMaxMinAlumnos(Aula a, ref int max, ref int min)
        {
            var  menu        = new Menu.Menu(new string[] { "Alberto", "Francisco", "Samuel", "Pablo", "Rodrigo", "Alfonso", "Roberto", "Adrian", "Carmen", "Silvia", "Maria", "Ana", "\nSalir" });
            var  menuPainter = new ConsoleMenuPainter(menu);
            int  choice      = -1;
            bool picked      = false;

            while (choice != 12)
            {
                menuPainter.Paint(0, 0);
                var keyInfo = Console.ReadKey();

                switch (keyInfo.Key)
                {
                case ConsoleKey.UpArrow: menu.moveUp(); break;

                case ConsoleKey.DownArrow: menu.moveDown(); break;

                case ConsoleKey.Enter:
                    choice = menu.selectedIndex;
                    picked = !picked;
                    Console.ResetColor();
                    break;
                }

                if (picked)
                {
                    switch (choice)
                    {
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                        Console.Clear();
                        a.MaxMin(ref max, ref min, a.alumnos[choice]);
                        Console.WriteLine("La nota máxima de {0} es {1} y la mínima {2}.", a.alumnos[choice], max, min);
                        Console.ReadKey();
                        goto default;

                    default:
                        picked = !picked;
                        Console.Clear();
                        break;
                    }
                }
            }
        }
Beispiel #4
0
        public static void MenuNotasAlumnos(Aula a)
        {
            var  menu        = new Menu.Menu(new string[] { "Alberto", "Francisco", "Samuel", "Pablo", "Rodrigo", "Alfonso", "Roberto", "Adrian", "Carmen", "Silvia", "Maria", "Ana", "\nSalir" });
            var  menuPainter = new ConsoleMenuPainter(menu);
            int  choice      = -1;
            bool picked      = false;

            while (choice != 12)
            {
                menuPainter.Paint(0, 0);
                var keyInfo = Console.ReadKey();

                switch (keyInfo.Key)
                {
                case ConsoleKey.UpArrow: menu.moveUp(); break;

                case ConsoleKey.DownArrow: menu.moveDown(); break;

                case ConsoleKey.Enter:
                    choice = menu.selectedIndex;
                    picked = !picked;
                    Console.ResetColor();
                    break;
                }

                if (picked)
                {
                    switch (choice)
                    {
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                    case 10:
                    case 11:
                        Console.Clear();
                        Interfaz.ShowNotasAlumno(a, a.alumnos[choice]);
                        //a.NotasAlumno(a.alumnos[choice]);
                        Console.ReadKey();
                        goto default;

                    default:
                        picked = !picked;
                        Console.Clear();
                        break;
                    }
                }
            }
        }
        // This gets the user defined values for the user to guess between
        internal static void UserValuesHumanGuess()
        {
            Console.Clear();
            ConsoleMenuPainter.TextColor(15, 1);
            Console.WriteLine("You enter the limit numbers, computer picks and you guess");
            ConsoleMenuPainter.TextColor();
            Console.Write("\nEnter the lower: ");
            int min = Elicit.WholeNumber(int.MinValue + 2, int.MaxValue - 1);

            Console.Write("\nEnter the upper number: ");
            int max = Elicit.WholeNumber(min + 1, int.MaxValue);

            HumanGuesses(min, max);
        }
        // This gets user defined values for the computer to guess between
        internal static void UserValues()
        {
            Console.Clear();
            ConsoleMenuPainter.TextColor(15, 1);
            Console.WriteLine("The computer guesses your number from values you define");
            ConsoleMenuPainter.TextColor();
            Console.Write("\nEnter the lower: ");
            int min = Elicit.WholeNumber(int.MinValue + 2, int.MaxValue - 1);

            Console.Write("\nEnter the upper number: ");
            int max = Elicit.WholeNumber(min + 1, int.MaxValue);

            CompGuess(min, max);
        }
Beispiel #7
0
        public static void MenuNotasAsignaturas(Aula a)
        {
            var  menu        = new Menu.Menu(new string[] { "Matematicas", "Lengua", "Ciencias", "Geografia", "\nSalir" });
            var  menuPainter = new ConsoleMenuPainter(menu);
            int  choice      = -1;
            bool picked      = false;

            while (choice != 4)
            {
                menuPainter.Paint(0, 0);
                var keyInfo = Console.ReadKey();

                switch (keyInfo.Key)
                {
                case ConsoleKey.UpArrow: menu.moveUp(); break;

                case ConsoleKey.DownArrow: menu.moveDown(); break;

                case ConsoleKey.Enter:
                    choice = menu.selectedIndex;
                    picked = !picked;
                    Console.ResetColor();
                    break;
                }

                if (picked)
                {
                    switch (choice)
                    {
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                        Console.Clear();
                        Interfaz.ShowNotasMateria(a, (Aula.Asignaturas)choice);
                        //a.NotasMateria((Aula.Asignaturas)choice);
                        Console.ReadKey();
                        goto default;

                    default:
                        picked = !picked;
                        Console.Clear();
                        break;
                    }
                }
            }
        }
Beispiel #8
0
        static void Main(string[] args)
        {
            Directivo        d  = new Directivo("Alberto", "Paz García", "39492832", 23, "Horno de almas", 666);
            Empleado         e  = new Empleado("Pablo", "Blanco", "34629323", 20, 200, "636363636");
            EmpleadoEspecial es = new EmpleadoEspecial("Sergio", "Martin", "12312312", 20, 2000, "363636363");

            var menu        = new Menu.Menu(new String[] { "Visualizar datos directivo", "Visualizar datos empleado", "Visualizar datos empleado especial", "Salir" });
            var menuPainter = new ConsoleMenuPainter(menu);

            int  choice = -1;
            bool picked = false;

            while (choice != 3)
            {
                menuPainter.Paint(0, 0);
                var keyInfo = Console.ReadKey();

                switch (keyInfo.Key)
                {
                case ConsoleKey.UpArrow: menu.moveUp(); break;

                case ConsoleKey.DownArrow: menu.moveDown(); break;

                case ConsoleKey.Enter:
                    choice = menu.selectedIndex;
                    picked = true;
                    Console.ResetColor();
                    break;
                }

                if (picked)
                {
                    switch (choice)
                    {
                    case 0: mostrarDatos(d);    goto default;

                    case 1: mostrarDatos(e);    goto default;

                    case 2: mostrarDatos(es);   goto default;

                    default:
                        picked = !picked; Console.Clear(); break;
                    }
                }
            }
        }
Beispiel #9
0
        static void Main(string[] args)
        {
            Hashtable ips = new Hashtable();

            ips.Add("192.168.0.20", 4); ips.Add("0.0.0.0", 12); ips.Add("32.32.32.32", 32);

            var menu        = new Menu.Menu(new String[] { "Visualizar tabla", "Visualizar un elemento", "Introducir un elemento ", "Salir" });
            var menuPainter = new ConsoleMenuPainter(menu);

            int  choice = -1;
            bool picked = false;

            while (choice != 3)
            {
                menuPainter.Paint(0, 0);
                var keyInfo = Console.ReadKey();

                switch (keyInfo.Key)
                {
                case ConsoleKey.UpArrow: menu.moveUp(); break;

                case ConsoleKey.DownArrow: menu.moveDown(); break;

                case ConsoleKey.Enter:
                    choice = menu.selectedIndex;
                    picked = !picked;
                    Console.ResetColor();
                    break;
                }

                if (picked)
                {
                    switch (choice)
                    {
                    case 0: MostrarTabla(ips); goto default;

                    case 1: MostrarElemento(ips); goto default;

                    case 2: IntroducirElemento(ips); goto default;

                    default:
                        picked = !picked; Console.Clear(); break;
                    }
                }
            }
        }
Beispiel #10
0
        // Checks the high/low values with error checking for "cheating"
        private static string HighOrLow()
        {
            Console.Write($"The number {current} was not your number. Was it High or Low? (H/L): ");
            do
            {
                var keyInfo = Console.ReadKey(true);
                switch (keyInfo.Key)
                {
                case ConsoleKey.H:
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.Write("H");
                    ConsoleMenuPainter.TextColor();
                    Console.WriteLine();
                    if (userNum > current)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine();
                        Console.WriteLine($"Are you SURE about that?  You said {current} was HIGHER than {userNum}");
                        ConsoleMenuPainter.TextColor();
                        return("Error");
                    }
                    return("High");

                case ConsoleKey.L:
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.Write("L");
                    ConsoleMenuPainter.TextColor();
                    Console.WriteLine();
                    if (userNum < current)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine();
                        Console.WriteLine($"Are you SURE about that?  You said {current} was LOWER than {userNum}");
                        ConsoleMenuPainter.TextColor();
                        return("Error");
                    }
                    return("Low");

                default:
                    break;
                }
            }while (true);
        }
Beispiel #11
0
        // Business logic of the user guessing what the number is
        internal static void HumanGuesses(int low, int high)
        {
            Random rand    = new Random();
            int    compNum = rand.Next(low, high + 1);
            bool   done    = false;

            numGuesses = 0;

            Console.Clear();
            ConsoleMenuPainter.TextColor(15, 1);
            Console.WriteLine($"\nYou guess the computer's number from {low} to {high}");
            ConsoleMenuPainter.TextColor();
            Console.WriteLine($"OK, I have guessed my number from {low} to {high}!");

            do
            {
                Console.Write($"Whole numbers from {low} to {high}, what is your guess: ");
                userNum = Elicit.WholeNumber(low, high);
                numGuesses++;
                Console.WriteLine();
                if (userNum == compNum)
                {
                    ConsoleMenuPainter.TextColor(15, 1);
                    Console.WriteLine($"Good guess! My number was {compNum}.");
                    Console.WriteLine($"You got it in {numGuesses} guesses.");
                    ConsoleMenuPainter.TextColor();
                    Console.WriteLine("Hit any key to continue back to the main menu.");
                    Console.ReadKey();
                    done = true;
                }
                if (userNum > compNum)
                {
                    Console.WriteLine($"Your guess of {userNum} was too high");
                }
                if (userNum < compNum)
                {
                    Console.WriteLine($"Your guess of {userNum} was too low");
                }
            } while (!done);
        }
Beispiel #12
0
    public void MoveDown() => SelectedIndex = Math.Min(SelectedIndex + 1, Items.Count - 1); // Rör dig ett steg neråt om du inte är på lägsta nivån

    public Menu GetMenu(Menu menu, string header)
    {
        var menuPainter = new ConsoleMenuPainter(menu);        // Skapar meny med hjälp av klassen

        Console.Clear();                                       // Så att consolen alltid ser likadan ut

        Console.WriteLine(header);                             // Skriv ut header

        for (int i = 0; i <= header.Length; i++)
        {
            Console.Write('-');
        }

        bool done = false;

        do
        {
            menuPainter.Paint();                                // Skriver ut menyn
            var keyInfo = Console.ReadKey();                    // Läser av tangentnedtryckning

            switch (keyInfo.Key)
            {                                                    // Switch argument för de olika tangenterna
            case ConsoleKey.UpArrow:
                menu.MoveUp();
                break;

            case ConsoleKey.DownArrow:
                menu.MoveDown();
                break;

            case ConsoleKey.Enter:
                done = true;
                break;
            }
        }while (!done);                                          // Om enter har tryckts gå ur meny loopen
        return(menu);
    }
Beispiel #13
0
        // Checkes to make sure the whole number input is in a valid range
        internal static int WholeNumber(int min = 1, int max = 10)
        {
            int    userChoice = 0;
            string numString  = "";

            bool done = false;

            do
            {
                Console.ForegroundColor = ConsoleColor.Green;
                numString = Console.ReadLine();
                ConsoleMenuPainter.TextColor();
                try
                {
                    userChoice = int.Parse(numString);
                    if (userChoice >= min && userChoice <= max)
                    {
                        done = true;
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.Write($"That is not what we were looking for.  Please enter a number {min} to {max}: ");
                        ConsoleMenuPainter.TextColor();
                    }
                }
                catch (Exception)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write($"That is not what we were looking for.  Please enter a number {min} to {max}: ");
                    ConsoleMenuPainter.TextColor();
                }
            } while (!done);

            return(userChoice);
        }
Beispiel #14
0
        public static string CallMenu(Menu menu, ref List <string> pageTaskStatus, ref int currentPage)
        //this does the work of setting up the menu display and instructions to the user
        {
            Console.Clear();
            var    menuPainter     = new ConsoleMenuPainter(menu);
            string selectionChoice = "";
            bool   done            = false;

            Console.WriteLine("'a' to add a task       | 'c' to mark it complete");
            Console.WriteLine("'i' marks it incomplete | 'q' or 'Enter' exits");
            Console.WriteLine(" Up and Down arrow keys move through the list");
            Console.WriteLine(" Left and Right arrow keys to move between pages");

            do
            {
                menuPainter.Paint(5, 5, ref pageTaskStatus, ref currentPage);

                var keyInfo = Console.ReadKey(true);  //read inputs and sends back the response
                switch (keyInfo.Key)
                {
                case ConsoleKey.UpArrow:
                    menu.MoveUp();
                    break;

                case ConsoleKey.DownArrow:
                    menu.MoveDown();
                    break;

                case ConsoleKey.RightArrow:
                    if (currentPage < MaxPage.maxPage)
                    {
                        selectionChoice = "PageUp";
                        done            = true;
                    }
                    break;

                case ConsoleKey.LeftArrow:
                    if (currentPage > 0)
                    {
                        selectionChoice = "PageDown";
                        done            = true;
                    }
                    break;

                case ConsoleKey.A:
                    selectionChoice = "Add";
                    done            = true;
                    break;

                case ConsoleKey.C:
                    selectionChoice = "Completed";
                    done            = true;
                    break;

                case ConsoleKey.I:
                    selectionChoice = "Incomplete";
                    done            = true;
                    break;

                case ConsoleKey.Q:
                    selectionChoice = "Quit";
                    done            = true;
                    break;

                case ConsoleKey.Enter:
                    selectionChoice = "Quit";
                    done            = true;
                    break;
                }
            }while (!done);
            return(selectionChoice);
        }
Beispiel #15
0
 // A final goodbye for the user
 internal static void ClosingMessage()
 {
     Console.Clear();
     Console.WriteLine("\n\nThanks! Have a Great day!\n\n\n");
     ConsoleMenuPainter.TextColor();
 }
Beispiel #16
0
        static void Main(string[] args)
        {
            Aula a = new Aula();

            var  menu        = new Menu.Menu(new string [] { "Calcular media del aula", "Media de un alumno", "Media asignatura", "Ver notas alumno", "Ver notas asignatura", "Nota maxima y minima alumno", "Aprobados", "Ver tabla entera", "Salir" });
            var  menuPainter = new ConsoleMenuPainter(menu);
            int  choice      = -1;
            bool picked      = false;

            while (choice != 8)
            {
                menuPainter.Paint(0, 0);
                var keyInfo = Console.ReadKey();

                switch (keyInfo.Key)
                {
                case ConsoleKey.UpArrow: menu.moveUp(); break;

                case ConsoleKey.DownArrow: menu.moveDown(); break;

                case ConsoleKey.Enter:
                    choice = menu.selectedIndex;
                    picked = !picked;
                    Console.ResetColor();
                    break;
                }

                if (picked)
                {
                    switch (choice)
                    {
                    case 0:
                        Console.Clear();
                        Console.WriteLine("Media de la tabla: {0}", a.MediaAula());
                        Console.ReadKey();
                        goto default;

                    case 1:
                        Console.Clear();
                        MenuMediaAlumnos(a);
                        goto default;

                    case 2:
                        Console.Clear();
                        MenuMediaAsignaturas(a);
                        goto default;

                    case 3:
                        Console.Clear();
                        MenuNotasAlumnos(a);
                        goto default;

                    case 4:
                        Console.Clear();
                        MenuNotasAsignaturas(a);
                        goto default;

                    case 5:
                        Console.Clear();
                        int max = 0; int min = 0;
                        MenuMaxMinAlumnos(a, ref max, ref min);
                        goto default;

                    case 6:
                        Console.Clear();
                        Interfaz.ShowSoloAporbados(a);
                        Console.ReadKey();
                        goto default;

                    case 7:
                        Console.Clear();
                        Interfaz.ShowAula(a);
                        Console.ReadKey();
                        goto default;

                    default:
                        picked = !picked;
                        Console.Clear();
                        break;
                    }
                }
            }
        }
Beispiel #17
0
        // Check to see if this is the right number guessed, error checking included for edge cases and "cheating"
        private static bool IsThisYourNumber()
        {
            Console.Write($"Is {current} your number? (Y/N): ");
            do
            {
                var keyInfo = Console.ReadKey(true);

                switch (keyInfo.Key)
                {
                case ConsoleKey.N:
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.Write("N");
                    ConsoleMenuPainter.TextColor();
                    if (userNum == current)
                    {
                        numGuesses++;
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine($"\nYes it is! You said {userNum} originally!");
                        ConsoleMenuPainter.TextColor();
                        Console.Write($"Looks like I guessed it!  Cheater :)");
                        return(true);
                    }
                    Console.WriteLine();
                    String highlow = HighOrLow();
                    switch (highlow)
                    {
                    case "High":
                        high = current;
                        numGuesses++;
                        return(false);

                    case "Low":
                        low = current;
                        numGuesses++;
                        return(false);

                    case "Error":
                        return(false);

                    default:
                        break;
                    }
                    break;

                case ConsoleKey.Y:
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.Write("Y");
                    ConsoleMenuPainter.TextColor();
                    if (current != userNum)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine($"\nYou changed your number! You said {userNum} originally!");
                        ConsoleMenuPainter.TextColor();
                        Console.WriteLine($"Lets try that again.");
                        Console.WriteLine();
                        return(false);
                    }
                    numGuesses++;
                    return(true);

                default:
                    break;
                }
            } while (true);
        }