Ejemplo n.º 1
0
        private static Point MostrarComidaColaCircular(Size screenSize, ColaCircular culebra)
        {
            var lugarComida = Point.Empty;

            var cabezaCulebra = (Point)culebra.FinaColaCircular(); //ca
            var coor          = cabezaCulebra.X;                   //

            var rnd = new Random();

            do
            {
                var x = rnd.Next(0, screenSize.Width - 1);
                var y = rnd.Next(0, screenSize.Height - 1);
                if (culebra.ToString().All(p => coor != x || coor != y) &&//
                    Math.Abs(x - cabezaCulebra.X) + Math.Abs(y - cabezaCulebra.Y) > 8)
                {
                    lugarComida = new Point(x, y);
                    Console.Beep(659, 125);
                }
            } while (lugarComida == Point.Empty);

            Console.BackgroundColor = ConsoleColor.Red;
            Console.SetCursorPosition(lugarComida.X + 1, lugarComida.Y + 1);
            Console.Write(" ");

            return(lugarComida);
        }
        static void capicuaPilaListayColaCircular()
        {
            bool   capicua;
            string numero;

            PilaLista    pila         = new PilaLista();
            ColaCircular circula_Cola = new ColaCircular();

            try
            {
                capicua = false;
                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("\nTeclea un numero: ");
                        numero = Console.ReadLine();
                    } while (!valido(numero));

                    //pone en la cola y en la pila cada digito
                    for (int i = 0; i < numero.Length; i++)
                    {
                        Char c;
                        c = numero[i];
                        circula_Cola.insertar(c);
                        pila.insertar(c);
                    }

                    //se retira de la cola y pila para comparar
                    do
                    {
                        Char d;
                        d       = (Char)circula_Cola.quitar();
                        capicua = d.Equals(pila.quitar()); //compara la igualdad
                    } while (capicua && !circula_Cola.colaVacia());

                    if (capicua)
                    {
                        Console.WriteLine($"Numero {numero} es capicua");
                    }
                    else
                    {
                        Console.WriteLine($"njmero {numero} no es capicua");
                        Console.WriteLine("intente otro");
                    }

                    // vaciar estructuras

                    circula_Cola.borrarCola();
                    pila.limpiarPila();
                }
            }
            catch (Exception errores)
            {
                Console.WriteLine($"Error en {errores.Message}");
            }
        }
Ejemplo n.º 3
0
        public static void CapicuaStack()
        {
            bool   capicua;
            string numero;

            //mandando a llamar la clase de pila lineal para usar stack
            PilaLineal   pila         = new PilaLineal();
            ColaCircular circula_Cola = new ColaCircular();

            try
            {
                capicua = false;
                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("\n Teclea un numero: ");
                        numero = Console.ReadLine();
                    } while (!valido(numero));

                    //pone en la cola y en la capicua cada digito
                    for (int i = 0; i < numero.Length; i++)
                    {
                        //se cambio el tipo de dato char a int
                        int c;
                        c = numero[i];
                        circula_Cola.insertar(c);
                        pila.insertar(c);
                    }

                    //se retira de la cola y pila para comparar
                    do
                    {
                        //igual que aca se cambio char por int
                        int d;
                        d       = (int)circula_Cola.quitar();
                        capicua = d.Equals(pila.quitar()); //compara la igualdad
                    } while (capicua && !circula_Cola.colaVacia());

                    if (capicua)
                    {
                        Console.WriteLine($"Numero {numero} es capicua");
                    }
                    else
                    {
                        Console.WriteLine($"Numero {numero} no es capicua");
                        Console.WriteLine("intente otro");
                    }
                }
            }
            catch (Exception errores)
            {
                Console.WriteLine($"Error en {errores.Message} ");
            }

            Console.ReadKey();
        }
Ejemplo n.º 4
0
        static void Capicua_original()
        {
            bool   capicua;
            String numero;

            PilaLista    pila          = new PilaLista();
            ColaCircular circular_cola = new ColaCircular();

            try
            {
                capicua = false;

                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("Teclea un número");
                        numero = Console.ReadLine();
                    } while (!validar(numero));

                    //Pone en la cola y en la pila cada digito
                    for (int i = 0; i < numero.Length; i++)
                    {
                        char c;
                        c = numero[i];
                        circular_cola.insertar(c);
                        pila.insertarPila(c);
                    }

                    //Desencolar, se retira la cola y pila para comparar
                    do
                    {
                        char d;
                        d       = (Char)circular_cola.quitar();
                        capicua = d.Equals(pila.quitar());//Compara la igualdad
                    } while (capicua && !circular_cola.colaVacia());

                    if (capicua)
                    {
                        Console.WriteLine($"Numero {numero} es capicua");
                    }
                    else
                    {
                        Console.WriteLine($"El numero {numero} no es capicua");
                        Console.WriteLine("Intente otro :)");
                    }

                    circular_cola.borrarCola();
                    pila.LimpiarPila();
                }
            }
            catch (Exception errores)
            {
                Console.WriteLine($"Error en{errores.Message} ");
            }
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            //PROGRAMA CAPICUA
            // programa capicua
            Ejercicio1();
            bool   capicua;
            string numero;

            PilaLista    pila         = new PilaLista();
            ColaCircular circula_Cola = new ColaCircular();
Ejemplo n.º 6
0
        public static void programa1()
        {
            bool         capicua;
            string       numero;
            PilaLista    Pila         = new PilaLista();
            ColaCircular circula_Cola = new ColaCircular();

            try
            {
                capicua = false;
                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("\nTeclea un numero: ");
                        numero = Console.ReadLine();
                    } while (!valido(numero));

                    //PONE EN LA COLA Y EN LA PILA CADA DIGITO
                    for (int i = 0; 0 < numero.Length; i++)
                    {
                        Char c;
                        c = numero[i];
                        circula_Cola.insertar(c);
                        Pila.insertar(c);
                    }

                    //SE RETIRA DE LA COLA Y PILA PARA COMPARAR
                    do
                    {
                        Char d;
                        d       = (Char)circula_Cola.quitar();
                        capicua = d.Equals(Pila.quitar());
                    } while (capicua && !circula_Cola.colaVacia());

                    if (capicua)
                    {
                        Console.WriteLine($"Numero {numero} es capicua");
                    }
                    else
                    {
                        Console.WriteLine($"njmero {numero} no es capicua");
                        Console.WriteLine("intente otro");
                    }
                    // vaciar estructuras

                    circula_Cola.borrarcola();
                    Pila.limpiarPila();
                }
            }
            catch (Exception errores)
            {
                Console.WriteLine($"Error en {errores.Message}");
            }
        }
Ejemplo n.º 7
0
        public static void CapicuaQueue()
        {
            bool   capicua;
            string numero;

            ColaCircular circula_Cola = new ColaCircular();

            try
            {
                capicua = false;
                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("\n Teclea un numero: ");
                        numero = Console.ReadLine();
                    } while (!valido(numero));

                    //pone en la cola y en la capicua cada digito
                    for (int i = 0; i < numero.Length; i++)
                    {
                        Char c;
                        c = numero[i];
                        circula_Cola.insertar(c);
                        //se esta insertando el numero en la cola
                        qt.Enqueue(c);
                    }

                    //se retira de la cola y pila para comparar
                    do
                    {
                        Char d;
                        //se esta retirando de la cola
                        d       = (char)qt.Dequeue();
                        capicua = d.Equals(qt.Dequeue()); //compara la igualdad
                    } while (capicua && !IsEmpty());      //se evalua capicua y la diferencia con el metodo para el contador vacio

                    if (capicua)
                    {
                        Console.WriteLine($"Numero {numero} es capicua");
                    }
                    else
                    {
                        Console.WriteLine($"Numero {numero} no es capicua");
                        Console.WriteLine("intente otro");
                    }
                }
            }
            catch (Exception errores)
            {
                Console.WriteLine($"Error en {errores.Message} ");
            }

            Console.ReadKey();
        }
Ejemplo n.º 8
0
        public static void esCapicula_UMG()
        {
            //programa capicua

            bool         capicua;
            string       numero;
            Ejercicios   ejercicios   = new Ejercicios();
            PilaLista    pila         = new PilaLista();
            ColaCircular colaCircular = new ColaCircular();

            try
            {
                capicua = false;
                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("\nTeclee un numero: ");
                        numero = Console.ReadLine();
                    } while (!ejercicios.valido(numero));
                    //pone en la cola y en la pila cada digito
                    for (int i = 0; i < numero.Length; i++)
                    {
                        char c;
                        c = numero[i];
                        colaCircular.insertar(c);
                        pila.insertar(c);
                    }
                    //se retira de la cola y pila para comparar
                    do
                    {
                        char d;
                        d       = (char)colaCircular.quitar();
                        capicua = d.Equals(pila.quitar());
                    } while (capicua && !colaCircular.colaVacia());
                    if (capicua)
                    {
                        Console.WriteLine($"Numero {numero} es capicua");
                    }
                    else
                    {
                        Console.WriteLine($"Numero {numero} no es capicua");
                        Console.WriteLine("Intente otro");
                    }
                    //vaciar estructuras
                    colaCircular.borrarCola();
                    pila.limpiarPila();
                }
            }
            catch (Exception errores)
            {
                Console.WriteLine($"Eror en {errores.Message}");
            }
        }
Ejemplo n.º 9
0
        public static void CapicuaQueue()
        {
            bool         capicua;
            string       numero;
            PilaLista    pila         = new PilaLista();
            ColaCircular circula_Cola = new ColaCircular();

            try
            {
                capicua = false;
                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("\n Teclea un numero: ");
                        numero = Console.ReadLine();
                    } while (!valido(numero));
                    //pone en la cola y en la capicua cada digito
                    for (int i = 0; i < numero.Length; i++)
                    {
                        Char c;
                        c = numero[i];
                        circula_Cola.insertar(c);
                        qt.Enqueue(c);
                        //pila.insertar(c);
                    }
                    //se retira de la cola y pila para comparar
                    do
                    {
                        Char d;
                        d = (char)qt.Dequeue();
                        //d = (Char)circula_Cola.quitar();
                        //capicua = d.Equals(pila.quitar());
                        capicua = d.Equals(qt.Dequeue()); //compara la igualdad
                    } while (capicua && !IsEmpty());      /*circula_Cola.colaVacia());*/
                    if (capicua)
                    {
                        Console.WriteLine($"Numero {numero} es capicua");
                    }
                    else
                    {
                        Console.WriteLine($"Numero {numero} no es capicua");
                        Console.WriteLine("intente otro");
                    }
                }
            }
            catch (Exception errores)
            {
                Console.WriteLine($"Error en {errores.Message} ");
            }
            Console.ReadKey();
        }
Ejemplo n.º 10
0
        //ColaCircular

        static void opc44()
        {
            Console.BackgroundColor = ConsoleColor.Red;
            var punteo          = 0;
            var velocidad       = 100; //modificar estos valores y ver qué pasa
            var posiciónComida  = Point.Empty;
            var tamañoPantalla  = new Size(60, 20);
            var culebrita       = new ColaCircular();
            var longitudCulebra = 5;               //modificar estos valores y ver qué pasa
            var posiciónActual  = new Point(0, 9); //modificar estos valores y ver qué pasa

            culebrita.insertar(posiciónActual);
            var dirección = Direction.Arriba; //modificar estos valores y ver qué pasa

            DibujaPantalla(tamañoPantalla);
            MuestraPunteo(punteo);

            while (MoverLaCulebritaColaCircular(culebrita, posiciónActual, longitudCulebra, tamañoPantalla))
            {
                Thread.Sleep(velocidad);
                dirección      = ObtieneDireccion(dirección);
                posiciónActual = ObtieneSiguienteDireccion(dirección, posiciónActual);

                if (posiciónActual.Equals(posiciónComida))
                {
                    posiciónComida   = Point.Empty;
                    longitudCulebra += 3; //modificar estos valores y ver qué pasa
                    punteo          += 5; //modificar estos valores y ver qué pasa
                    MuestraPunteo(punteo);
                    velocidad -= 5;
                }

                if (posiciónComida == Point.Empty) //entender qué hace esta linea
                {
                    posiciónComida = MostrarComidaColaCircular(tamañoPantalla, culebrita);
                }
            }

            Console.ResetColor();
            Console.SetCursorPosition(tamañoPantalla.Width / 2 - 4, tamañoPantalla.Height / 2);
            Console.Beep(659, 125);
            Console.Write("Fin del Juego");
            Console.Beep(650, 2);
            Thread.Sleep(2000);
            Console.ReadKey();
        }
        private bool MoverLaCulebrita(ColaCircular culebra, Point posiciónObjetivo,
                                      int longitudCulebra, Size screenSize)
        {
            var lastPoint = (Point)culebra.finalCola();

            if (lastPoint.Equals(posiciónObjetivo))
            {
                return(true);
            }

            if (culebra.choque(posiciónObjetivo))
            {
                return(false);
            }

            if (posiciónObjetivo.X < 0 || posiciónObjetivo.X >= screenSize.Width ||
                posiciónObjetivo.Y < 0 || posiciónObjetivo.Y >= screenSize.Height)
            {
                return(false);
            }

            Console.BackgroundColor = ConsoleColor.Green;
            Console.SetCursorPosition(lastPoint.X + 1, lastPoint.Y + 1);
            Console.WriteLine(" ");

            culebra.insertar(posiciónObjetivo);

            Console.BackgroundColor = ConsoleColor.Red;
            Console.SetCursorPosition(posiciónObjetivo.X + 1, posiciónObjetivo.Y + 1);
            Console.Write(" ");

            // Quitar cola
            if (culebra.numerodeelementos() > longitudCulebra)
            {
                var removePoint = (Point)culebra.quitar();
                Console.BackgroundColor = ConsoleColor.Black;
                Console.SetCursorPosition(removePoint.X + 1, removePoint.Y + 1);
                Console.Write(" ");
            }
            return(true);
        }
Ejemplo n.º 12
0
        private static bool MoverLaCulebritaColaCircular(ColaCircular culebra, Point posiciónObjetivo,
                                                         int longitudCulebra, Size screenSize)
        {
            var lastPoint = (Point)culebra.FinaColaCircular();//

            if (lastPoint.Equals(posiciónObjetivo))
            {
                return(true);
            }

            if (culebra.ToString().Any(x => x.Equals(posiciónObjetivo)))
            {
                return(false);                                                        //
            }
            if (posiciónObjetivo.X < 0 || posiciónObjetivo.X >= screenSize.Width ||
                posiciónObjetivo.Y < 0 || posiciónObjetivo.Y >= screenSize.Height)
            {
                return(false);
            }

            Console.BackgroundColor = ConsoleColor.Green;
            Console.SetCursorPosition(lastPoint.X + 1, lastPoint.Y + 1);
            Console.WriteLine(" ");

            culebra.insertar(posiciónObjetivo);

            Console.BackgroundColor = ConsoleColor.Red;
            Console.SetCursorPosition(posiciónObjetivo.X + 1, posiciónObjetivo.Y + 1);
            Console.Write(" ");

            // Quitar cola
            if (culebra.tamaño() > longitudCulebra)        //
            {
                var removePoint = (Point)culebra.quitar(); //
                Console.BackgroundColor = ConsoleColor.Black;
                Console.SetCursorPosition(removePoint.X + 1, removePoint.Y + 1);
                Console.Write(" ");
            }
            return(true);
        }
        private Point MostrarComida(Size screenSize, ColaCircular culebra)
        {
            var lugarComida   = Point.Empty;
            var cabezaCulebra = (Point)culebra.frenteCola();
            var rnd           = new Random();

            do
            {
                var x = rnd.Next(0, screenSize.Width - 1);
                var y = rnd.Next(0, screenSize.Height - 1);
                if (culebra.comida(x, y) &&
                    Math.Abs(x - cabezaCulebra.X) + Math.Abs(y - cabezaCulebra.Y) > 8)
                {
                    lugarComida = new Point(x, y);
                }
            } while (lugarComida == Point.Empty);

            Console.BackgroundColor = ConsoleColor.Blue;
            Console.SetCursorPosition(lugarComida.X + 1, lugarComida.Y + 1);
            Console.Write(" ");

            return(lugarComida);
        }
Ejemplo n.º 14
0
 public Enviar()
 {
     enviar = new ColaCircular <Solicitud>(1000);
 }
Ejemplo n.º 15
0
        static void capicua()
        {
            Queue qt = new Queue();
            //qt.Enqueue("hola");
            //qt.Enqueue("esto");
            //qt.Enqueue("es");
            //qt.Enqueue("una");
            //qt.Enqueue("prueba");

            //Console.WriteLine($"La cola tiene {qt.Count} elementos");
            //Console.WriteLine($"Desencolando {qt.Dequeue()}");

            //programa capicua
            bool         capicua;
            string       numero;
            PilaLista    pila         = new PilaLista();
            ColaCircular circula_Cola = new ColaCircular();



            try
            {
                capicua = false;
                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("Tecleea un numero: ");
                        numero = Console.ReadLine();
                    } while (!valido(numero));

                    //pone en la cola y en la pila cada digito

                    for (int i = 0; i < numero.Length; i++)
                    {
                        Char c;
                        c = numero[i];
                        circula_Cola.insertar(c);
                        pila.insertar(c);
                    }

                    //se retira de la cola y de la pila comparar
                    do
                    {
                        Char d;
                        d       = (Char)circula_Cola.quitar();
                        capicua = d.Equals(pila.quitar());
                    } while (capicua && !circula_Cola.colaVacia());
                    if (capicua)
                    {
                        Console.WriteLine($"Numero{numero} es Capicua");
                    }
                    else
                    {
                        Console.WriteLine($"El numero {numero} no es capicua");

                        Console.WriteLine("Ingrese otro numero: ");
                    }
                    //vaciar estructuras

                    circula_Cola.borrarCola();
                    pila.limpiarPila();
                }
            }
            catch (Exception error)
            {
                Console.WriteLine($"Error en {error.Message} ");
            }
        }