Пример #1
0
 public bool validarPto(Pto p, Tela t)
 {
     if (p.getPX() > t.getP1X() && p.getPX() < t.getP2X() && p.getPY() < t.getP2Y() && p.getPY() < t.getP2Y())
     {
         return(true);
     }
     return(false);
 }
Пример #2
0
        public void alimentar(Pto p, geradorPontos gerador)
        {
            if (p.getPX() == gerador.getpontoX() && p.getPY() == gerador.getpontoY())
            {
                gerador.setMarca(false);

                defineTexto(30, 27, " A COBRA SE ALIMENTOU DE UMA VITIMA");
            }
        }
Пример #3
0
 public void andarPto(Pto p, Tela t, ConsoleKeyInfo Tecla)
 {
     for (int i = 0; i < p.gettamanhoCobra(); i++)
     {
         if (Tecla.Key == ConsoleKey.LeftArrow)
         {
             p.setPX(p.getPX() - p.gettamanhoCobra());
             Console.SetCursorPosition(p.getPX(), p.getPY());
             Console.WriteLine(p.getPC());
             Console.SetCursorPosition(p.getPX() + p.gettamanhoCobra(), p.getPY());
             Console.WriteLine(" ");
         }
         else if (Tecla.Key == ConsoleKey.RightArrow)
         {
             p.setPX(p.getPX() + 1);
             Console.SetCursorPosition(p.getPX(), p.getPY());
             Console.WriteLine(p.getPC());
             Console.SetCursorPosition(p.getPX() - p.gettamanhoCobra(), p.getPY());
             Console.WriteLine(" ");
         }
         else if (Tecla.Key == ConsoleKey.UpArrow)
         {
             p.setPY(p.getPY() - p.gettamanhoCobra());
             Console.SetCursorPosition(p.getPX(), p.getPY());
             Console.WriteLine(p.getPC());
             Console.SetCursorPosition(p.getPX(), p.getPY() + p.gettamanhoCobra());
             Console.WriteLine(" ");
         }
         else if (Tecla.Key == ConsoleKey.DownArrow)
         {
             p.setPY(p.getPY() + p.gettamanhoCobra());
             Console.SetCursorPosition(p.getPX(), p.getPY());
             Console.WriteLine(p.getPC());
             Console.SetCursorPosition(p.getPX(), p.getPY() - p.gettamanhoCobra());
             Console.WriteLine(" ");
         }
         else
         {
             defineTexto(30, 27, " Utilize as SETAS do teclado para movimentar a cobra louca");
         }
     }
 }
Пример #4
0
        static void Main(string[] args)
        {
            Console.SetWindowSize(120, 29);
            Tela t = new Tela(30, 1, 118, 25); // ZoNA JOGAVEL



            geradorPontos[] gerador = new geradorPontos[100];



            Tela t2 = new Tela(1, 1, 28, 25);   // CAMPO PONTOS
            Tela t3 = new Tela(1, 27, 118, 27); // CAMPO MSG


            Pto[] p = new Pto[5];
            p[0] = new Pto("‡", 45, 15, 1);

            Grafico g = new Grafico();

            bool repete = true;

            ConsoleKeyInfo Tecla;

            Console.BackgroundColor = ConsoleColor.DarkYellow;

            g.desenharTela(t);

            g.desenharTela(t2);
            Console.BackgroundColor = ConsoleColor.Gray;

            g.desenharTela(t3);
            Console.ResetColor();


            g.defineTexto(3, 2, "JOGO DA COBRA");
            g.defineTexto(3, 3, "Feito por Marcos");



            int i = 1; // tamanho da cobra

            while (repete == true)
            {
                gerador[0] = new geradorPontos(50, 20, true);
                g.defineTexto(50, 20, "*");

                Tecla = Console.ReadKey(true);
                if (g.validarPto(p[0], t))

                {
                    for (int x = 0; x < i; x++)
                    {
                        g.andarPto(p[x], t, Tecla);
                    }

                    g.alimentar(p[0], gerador[0]);
                    if (gerador[0].getMarca() == false)
                    {
                        i++;
                        // p[i] = new Pto("‡", p[i-1].getPX()-1, p[i-1].getPY(), i);
                        p[1] = new Pto("‡", p[0].getPX() - 1, p[0].getPX(), i);

                        // p[i].setPX(p[i - 1].getPX() - 1);
                        // p[i].setPY(p[i - 1].getPY());
                    }

                    //MOVIMENTAÇÂO DEMAIS PONTOS SERÁ EXECUTADO NA CLASSE GRAFICO, SERA FEITO UMA VERIFICAÇÂO CONSTANTE DE QUANTIDADE DE PONTOS CONSUMIDOS O PONTO ANTERIOR IRA ACEDER A CORDENADA DO PONTO MOVIMENTAVEL
                }
                else
                {
                    repete = false;
                    g.defineTexto(60, 27, "GAME OVER");

                    Console.ReadKey();
                }
            }
        }