示例#1
0
        public static void TextoDecorado(string[] texto, int numEstrellas)
        {
            Estrella[] estrellas = new Estrella[numEstrellas];
            bool terminado = false;

            //Generar datos
            for (int i = 0; i < estrellas.Length; i++)
            {
                estrellas[i].x = generador.Next(0, 80);
                estrellas[i].y = generador.Next(0, 20);
                estrellas[i].incX = (generador.Next(0, 2) == 0) ? 1 : -1;
                estrellas[i].incY = (generador.Next(0, 2) == 0) ? 1 : -1;
            }

            //Bucle bolas con texto
            while(!terminado)
            {
                Console.ForegroundColor = ConsoleColor.DarkCyan;

                for (int i = 0; i < estrellas.Length; i++)
                {
                    //Borrar e Incremento posición
                    Console.SetCursorPosition(estrellas[i].x, estrellas[i].y);
                    Console.Write(" ");
                    estrellas[i].x += estrellas[i].incX;
                    estrellas[i].y += estrellas[i].incY;
                    //Detectar colisión y rebote
                    if (estrellas[i].x < 0 || estrellas[i].x > 79)
                    {
                        estrellas[i].incX *= -1;
                        estrellas[i].x += estrellas[i].incX;
                    }
                    if (estrellas[i].y < 0 || estrellas[i].y > 22)
                    {
                        estrellas[i].incY *= -1;
                        estrellas[i].y += estrellas[i].incY;
                    }
                    //Pintar
                    Console.SetCursorPosition(estrellas[i].x, estrellas[i].y);
                    Console.Write("*");
                }

                Console.ForegroundColor = ConsoleColor.Yellow;
                for (int i = 0; i < texto.Length; i++)
                {
                    Console.SetCursorPosition(20, 12 - (texto.Length / 2)+i);
                    Console.Write(texto[i]);
                }

                Console.SetCursorPosition(0, 23);
                Console.Write("Pulsa una tecla para continuar...");
                if (Console.KeyAvailable)
                {
                    Console.ReadKey();
                    terminado = true;
                }
                System.Threading.Thread.Sleep(20);
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            List <Paint> lista = new List <Paint>();
            ///Generamos los objetos de las clases de forma
            ///
            var corazon  = new Corazon();
            var estrella = new Estrella();
            var rayo     = new Rayo();

            ///
            /// Añadimos los valores correspondientes a cada atributo de los objetos
            corazon.Borde  = "negro";
            corazon.Fondo  = "rojo";
            estrella.Borde = "amarillo";
            estrella.Fondo = "blanco";
            rayo.Borde     = "negro";
            rayo.Fondo     = "amarillo";
            ///
            /// Añadimos los objetos a la list lista
            lista.Add(corazon);
            lista.Add(estrella);
            lista.Add(rayo);
            ///Generamos el objeto salida, el comprobador de si alguien indica la salida
            ///
            var salida = new Output(Console.ReadLine, Console.WriteLine);
            ///
            /// Declaramos la variable exit como falsa

            var exit = false;

            do
            {
                ///
                /// Recorre la lista de objetos
                foreach (var forma in lista)
                {
                    forma.ImprimirForma();


                    ///
                    /// Imprime las características de las formas con el método ImprimirForma declarado en la clase Paint
                }
                ///
                /// Comprobante de que si después de imprimir las caracteristicas se escribe exit el valor de exit pasa a ser true
                exit = salida.Read() == "exit";
            } while (!exit);
            ///
            /// Realiza el bucle de impresión mientras no se escriba salida
        }
 private void btnAgregarEstrella_Click(object sender, EventArgs e)
 {
     if (txtNombreEstrella.Text != String.Empty &&
         txtOrbitaEstrella.Text != String.Empty &&
         numRotacionEstrella.Value > 0 &&
         numPlanetas.Value >= 0 &&
         cmbClase.Text != String.Empty)
     {
         estrella = new Estrella(int.Parse(txtOrbitaEstrella.Text), (int)numRotacionEstrella.Value, txtNombreEstrella.Text, (int)numPlanetas.Value, (Clase)cmbClase.SelectedItem);
         MessageBox.Show("Estrella cargada correctamente.", "OK", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
     else
     {
         MessageBox.Show("No se pudo cargar la estrella. Asegurese de completar todos los campos.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
示例#4
0
        private void CrearEstrellas()
        {
            float radioGalaxia = galaxia.Tamanio.Length;

            float densidadEstrellas = (radioGalaxia - Centro.Length) / radioGalaxia;

            densidadEstrellas = densidadEstrellas * densidadEstrellas;

            int cantEstrellas = CantidadMinimaEstrellas + (int)((CantidadMaximaEstrellas - CantidadMinimaEstrellas) * densidadEstrellas);

            estrellas = new Estrella[cantEstrellas];

            for (int i = 0; i < cantEstrellas; i++)
            {
                Estrella e = new Estrella();

                e.posicion.X = rnd.Next((int)(centro.X - tamanio.X / 2.0f), (int)(centro.X + tamanio.X / 2.0f));
                e.posicion.Y = rnd.Next((int)(centro.Y - tamanio.Y / 2.0f), (int)(centro.Y + tamanio.Y / 2.0f));
                e.radius     = rnd.Next(2000, 4000) / 1000.0f;

                switch (rnd.Next(4))
                {
                case 0:
                    e.color = Color.RoyalBlue;
                    break;

                case 1:
                    e.color = Color.Violet;
                    break;

                case 2:
                    e.color = Color.LightGray;
                    break;

                case 3:
                    e.color = Color.Yellow;
                    break;
                }

                estrellas[i] = e;
            }
        }