Ejemplo n.º 1
0
        public static void Juego()
        {
            //Puntuacion:
            int Puntuacion = 1;



            Posicion Cabeza = new Posicion(40, 15);
            //creem una nova llista per a guardar les posicion de la serp.
            List <Posicion> Serp = new List <Posicion>();

            //añadim el cap a la serp
            Serp.Add(Cabeza);
            //Creem una estrella del firmament
            Posicion Estrella = new Posicion(59, 18);

            Posicion Proxima;
            //while (!Quit)
            //         Console.Title = "Snake version a la Machi, Puntuacion: " + Puntuacion;
            bool Quit = false;

            while (Quit != true)
            {
                Console.Clear();
                Console.Title = "Snake version a la Machi, Puntuacion: " + Puntuacion;
                Proxima       = Serp[0];


                //Serp maquexa ????
                foreach (Posicion posicio in Serp)
                {
                    //Console.SetCursorPosition(posicio.columna, posicio.fila);
                    //Console.Write("#");
                    Dibujar(posicio.columna, posicio.fila, "#");
                }
                //Marquem la estrella.
                //Console.SetCursorPosition(Estrella.columna, Estrella.fila);
                //Console.Write('*');
                Dibujar(Estrella.columna, Estrella.fila, "*");
                //Marcada

                //Creem el menu dels moviments per a la serp.
                ConsoleKeyInfo MovSerp       = Console.ReadKey(true);
                ConsoleKeyInfo BotonAnterior = MovSerp;

                //Els moviments se poden fer en cualquier tecla, lo que vaig a gastar son les flechetes.
                /// while (Quit != false)
                //{
                switch (MovSerp.Key)
                {
                case ConsoleKey.UpArrow:
                    if (Proxima.fila > 0)
                    {
                        Proxima.fila--;
                        BotonAnterior = MovSerp;
                        Puntuacion++;
                    }

                    break;

                case ConsoleKey.DownArrow:
                    if (Proxima.fila < 24)
                    {
                        Proxima.fila++;
                        BotonAnterior = MovSerp;
                        Puntuacion++;
                    }
                    break;

                case ConsoleKey.LeftArrow:
                    if (Proxima.columna > 0)
                    {
                        Proxima.columna--;
                        BotonAnterior = MovSerp;
                        Puntuacion++;
                    }

                    break;

                case ConsoleKey.RightArrow:
                    if (Proxima.columna < 79)
                    {
                        Proxima.columna++;
                        BotonAnterior = MovSerp;
                        Puntuacion++;
                    }
                    break;
                    //case 'q':
                    //  Quit = true;
                    //  break;
                }
                switch (MovSerp.KeyChar)
                {
                case 'q':
                    Quit = true;
                    LibreriaClases.GameOver(Puntuacion);
                    break;

                case 'Q':
                    Quit = true;
                    LibreriaClases.GameOver(Puntuacion);
                    break;
                }

                //}

                Serp.Insert(0, Proxima);
                if (Proxima.columna == Estrella.columna && Proxima.fila == Estrella.fila)
                {
                    //creem una nova estrella
                    Random EstAlea = new Random();
                    Estrella.columna = EstAlea.Next(0, 80);
                    Estrella.fila    = EstAlea.Next(0, 25);
                    Puntuacion       = Puntuacion + 50;
                }
                else
                {
                    Serp.RemoveAt(Serp.Count - 1);
                }
            }
        }
Ejemplo n.º 2
0
 public string ToFixedLenghtString()
 {
     return($"{Posicion.ToString("00000000000;-0000000000")}|{Padre.ToString("00000000000;-0000000000")}" + HijosFormat() + ValoresFormat() + "\r\n");
 }