Hola :D estoy haciendo el videojuego de buscaminas en AndroidStudio, pero antes lo estoy programando en java. Ya he puesto las minas y los numeros alrededor del tablero. Ahora donde estoy atascado por varias horas, es cuando el usuario escoja una celda que tiene el numero 0 (es decir que no hay minas alrededor) no se como seguir descubriendo más celdas hasta que encuentre un numero(del 1 al 8)
Lo que quiero hacer es el efecto que hace el buscaminas cuando empiezas, que le das click y te saca muchas casillas sin numero y luego todo rodeado de numeros
@MauricioContreras yo no lo entendi muy bien, pero es que el problema es que tampoco entiendo como funciona correctamente esa funcion recursiva para ir sacando casillas...
tengo una duda con javascript: Por ejemplo, ¿puedo volver a una página después de haber navegado dos o tres veces cambiando la url?, o sea sería como hacer history.back() unas cuantas veces
@Sqoaz Debes ir aplicando la misma función a cada casilla alrededor de la que está vacía y actuar en consecuencia, haz de tener un caso base: la casilla está vacía y no hay más casillas alrededor para destapar. Si eso se cumple se destapa, sino, se pasan las casillas (que no muestren numero) que tenga alrededor a la función. Es lo que se me ocurre ahora. Pero es mejor por búsqueda de nodos. Aunque allí ya me tengo que sentarme frente al ordenador. Y estoy ahora desde el móvil.
@Sqoaz Busque algoritmo de busqueda de nodos para ver como funcionan y aplica eso mismo a una funcion recursiva.. empecemos por el principio, sabes lo que es una funcion recursiva?
@Sqoaz Es una funcion que se llama a si misma, con los mismos parametros, pero el punto de partida de lo que busca hacer cambia en base a los mismos...
@gbianchi lo que me cuesta entender por ejemplo, es la funcion recursiva del factorial, me costaba entender donde se almacenaba el resultado..Pero creo que lo entiendo
@fredyfx claro que no, por ejemplo, puedes tener tu CV virtual y tales, pero aqui si vas a trabajar te van a contratar, debes tener un formato unico que aval ele stado, ya eso es otra cosa
hola tengo un un problemas
quiero recorrer imagenes desde javascript, usando propiedad dataset, mi idea es hacer unas targetas y desde un atributo de un div contenedor data-imagen, me recorra las imagenes el codigo de javascript es :
var cartThumb = document.querySelectorAll('.cart-thumb')...
@gbianchi pero por ejemplo en la factorial se devuelve solo un numero. pero el factorial de 5 por ejemlo es: 5x4x3x2x1, todas esas operaciones como las hace ?
A este le han caido dos negativos y no entiendo por qué... A veces me fastidia un poco la negatividad (pun intended) con que se reciben algunas preguntas.
Soy nuevo en programando en python y tengo una duda acerca del lenguaje ¿Que tecnica de equivalencia de tipos utiliza, nominal o estructural? Me gustaria saber asi logro comprender con mayor profundidad el funcionamiento del lenguaje.
Muchas gracias.
como 2 != 5 entonces vamos a retornar 2 * factorial (3,5) como 3 != 5 entonces vamos a retornar 3 * factorial (4,5) como 4 != 5 entonces vamos a retornar 4 * factorial (5,5)
como 5 = 5, empieza la magia de la funcion recursiva ;)
5 = 5 retorna 5.. a la funcion que la llamo... esa es 4 * factorial (5,5) -> como factorial(5,5) es 5.. hacemos 4 * 5 y devolvemos eso...
a la funcion que lo llamo.. que es 3 * factorial (4,5) -> 3 * 20 y retornamos eso...
@Sqoaz porque es lo mismo... miremos de esta forma....
Estamos parados en una casilla.... Tenemos que ver que son las 8 casillas de alrededor...
si alguna es 0, tenemos que tomar esa como nuevo punto de partida.. si esta afuera, no sirve.. y si tiene una bomba.. no sirve tampoco.... o sea que nuestros puntos de regreso son las bombas y los afuera...
@Sqoaz Los resultados intermedios se guardan en la pila, ya que cada vez que se llama a sí misma, se crea un nuevo marco de pila, antes de "descender" a la siguiente llamada. Cada función usa la pila para "recordar por donde iba" para cuando retorne aquella a la que había llamado. Eso es lo que permite "volver hacia arriba" e ir acumulando (en este caso multiplicando) resultados según sube.
@abulafia para dejarlo mas claro.. por mas que la funcion se llame igual, para el sistema es una funcion distinta con distintos parametros de entrada...
Un detalle, aunque la función que habeis escrito calcula correctamente el factorial, no me gusta mucho esa implementación. Lo más habitual es basarse en la propia definicion de factorial, qe ya es recursiva de por sí. Y que es como sigue:
Fact(N) = N * Fact(N-1)
el factorial de un número N es ese número por el factorial del número anterior
y para que esto no sea un descenso infinito, se añade a la definición que: Fact(1) vale 1
@gbianchi mi problema era entender como podia valorar todas las casillas. (porque tiene que valorar todos los caminos hasta el final y luego volver para evaluar el resto). Me cuesta entender voy muy poco a poco
recibo una casilla... si casilla es afuera o bomba vuelvo.. si no, llamo a buscar(casilla al noreste de esta) buscar(casilla al norte de esta) buscar(casilla al noroeste de esta) buscar(casilla al este de esta) buscar(casilla al sureste de esta) buscar(casilla al sur de esta) buscar(casilla al suroeste de esta) buscar(casilla al oeste de esta)
@blonfu Yo recuerdo que si ponías la etiqueta featured en inglés aparecía, pero si ponías destacado ya no. Pero no sé si sea lo mismo luego de tantas traducciones.