示例#1
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;
        }
示例#2
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());
        }