//Metodo para hacer avanzar a la serpiente public void avanza() { int x; //declaramos un x y un y int y; serp.ultimo(out x, out y); //los valores de x e y seran modificados el ultimo elmento de serp x += dirx; //le añadimos la dirreccion y += diry; //añadimos siempre un nuevo nodo y dependiendo del tablero se realiza una opcion u otra if (!colision(x, y)) { serp.insertaFin(x, y); //avanzamos en uno a la serp if (frutas.esta(x, y)) //si no hay colision pero si hay fruta, eliminamos fruta { frutas.eliminaElto(x, y); } else//sino eliminamos el primer elemento de la lista que realmeente en el juego es la cola, es decir el que hemos añadido al principio { serp.eliminaIni(); } } else { throw new Exception("Colisión"); } }
public bool colision(int x, int y) //controla si colisiona con los margenes del tablero { return(x < 1 || x > cols || y < 1 || y > fils || serp.esta(x, y)); }