Beispiel #1
0
        public void setSerpienteNivel(int nivel)
        {
            nodoSnake Actual = Ultimo;

            switch (nivel)
            {
            case 2:
                while (Actual != Cabeza)
                {
                    Actual.setY(5);
                    Actual.setX(0);
                    Actual = Actual.getAnterior();
                }
                Cabeza.setX(0);
                Cabeza.setY(5);
                direccion = Snake.derecha;
                break;

            case 3:
                while (Actual != Cabeza)
                {
                    Actual.setY(0);
                    Actual.setX(5);
                    Actual = Actual.getAnterior();
                }
                Cabeza.setX(5);
                Cabeza.setY(0);
                direccion = Snake.abajo;
                break;
            }
        }
Beispiel #2
0
 public Snake()
 {
     Cabeza = new nodoSnake();
     Cabeza.setX(2);
     Cabeza.setY(1);
     Ultimo    = Cabeza;
     direccion = 1;
     Crecer();
     Crecer();
 }
Beispiel #3
0
        public void Crecer()
        {
            nodoSnake nuevo = new nodoSnake();
            int       x     = Ultimo.getX();
            int       y     = Ultimo.getY();

            nuevo.setX(x);
            nuevo.setY(y);

            //Agregar el nuevo nodo
            Ultimo.setSiguiente(nuevo);
            nuevo.setAnterior(Ultimo);
            Ultimo = nuevo;
        }
Beispiel #4
0
        public void Avanzar()
        {
            nodoSnake Actual = Ultimo;

            switch (direccion)
            {
            case derecha:
                //Mover cada nodo de la serpiente a la derecha
                while (Actual != Cabeza)
                {
                    Actual.setX(Actual.getAnterior().getX());
                    Actual.setY(Actual.getAnterior().getY());
                    Actual = Actual.getAnterior();
                }
                Cabeza.setX(Cabeza.getX() + 1);
                if (Cabeza.getX() > 11)
                {
                    Cabeza.setX(0);
                }
                break;

            case izquierda:
                //Mover cada nodo de la serpiente a la izquierda
                while (Actual != Cabeza)
                {
                    Actual.setX(Actual.getAnterior().getX());
                    Actual.setY(Actual.getAnterior().getY());
                    Actual = Actual.getAnterior();
                }
                Cabeza.setX(Cabeza.getX() - 1);
                if (Cabeza.getX() < 0)
                {
                    Cabeza.setX(11);
                }
                break;

            case arriba:
                //Mover cada nodo de la serpiente hacia arriba
                while (Actual != Cabeza)
                {
                    Actual.setY(Actual.getAnterior().getY());
                    Actual.setX(Actual.getAnterior().getX());
                    Actual = Actual.getAnterior();
                }
                Cabeza.setY(Cabeza.getY() - 1);
                if (Cabeza.getY() < 0)
                {
                    Cabeza.setY(11);
                }
                break;

            case abajo:
                //Mover cada nodo de la serpiente hacia abajo
                while (Actual != Cabeza)
                {
                    Actual.setY(Actual.getAnterior().getY());
                    Actual.setX(Actual.getAnterior().getX());
                    Actual = Actual.getAnterior();
                }
                Cabeza.setY(Cabeza.getY() + 1);
                if (Cabeza.getY() > 11)
                {
                    Cabeza.setY(0);
                }
                break;
            }
            //Console.WriteLine("X:"+Cabeza.getX().ToString() + " - Y:" + Cabeza.getY().ToString());
            //Console.WriteLine("Xf:" +Ultimo.getX().ToString() + " - Yf:" + Ultimo.getY().ToString());
        }