示例#1
0
        static punto crearComida()
        {
            punto arroba;

            arroba = new punto(aleatorio(3, 51), aleatorio(3, 21), '@');
            return(arroba);
        }
示例#2
0
        static void Main(string[] args)
        {
            int xi, yi, xi2, yi2, tamañocuerpo = 4;

            punto arroba, cuerpo;

            arroba = crearComida();

            ConsoleKeyInfo car;


            List <punto> serpiente = new List <punto>();//creamos una lista a la clase punto


            for (int i = 0; i <= tamañocuerpo; i++)  // Creamos el cuerpo  y le damos tamaño
            {
                cuerpo = new punto(10 - i, 10, '*'); //Coordenadas iniciales de la serpiente
                serpiente.Add(cuerpo);
            }
            //arroba = new punto(aleatorio(3, 51), aleatorio(3, 21), '@'); // Crea la posición y la comida
            crearComida();


            do
            {
                xi = serpiente[0].X; //Posción x de la cabeza de la serpiente

                yi = serpiente[0].Y; // Posición y de la cabeza de la serpiente

                // Con el switch movemos el primer punto



                car = Console.ReadKey(true);
                switch (car.Key)
                {
                case ConsoleKey.DownArrow:
                    serpiente[0].mover(0, INC);
                    break;

                case ConsoleKey.UpArrow:
                    serpiente[0].mover(0, -INC);
                    break;

                case ConsoleKey.LeftArrow:
                    serpiente[0].mover(-INC, 0);
                    break;

                case ConsoleKey.RightArrow:
                    serpiente[0].mover(INC, 0);
                    break;
                }

                // Con el for movemos el resto de cadena
                serpiente[serpiente.Count - 1].borrar();

                for (int i = 1; i < serpiente.Count(); i++) //Recorre la longitud de la lista
                {
                    xi2 = serpiente[i].X;
                    yi2 = serpiente[i].Y;

                    serpiente[i].mover(xi - serpiente[i].X, yi - serpiente[i].Y);

                    yi = yi2; // Contiene las posiciones modificadas que contienen el resto de los elementos que siguen a la cabeza
                    xi = xi2;
                }



                /*Comparamos coordenadas de la serpiente*/

                //Comidagenerada--; // Restamos el valor para que no creen dos comidas

                // {
                //(aleatorio(1,51) arroba);//Añade un punto encima de la posición donde estaba la comida
            } while (car.Key != ConsoleKey.Escape);
        }