ok Estoy leyendo basura en el juego ... como su ambiguo ... Supongo que este juego es similar a "puntos y líneas" donde el espacio de movimiento es conectar 2 puntos adyacentes con una línea. entonces la grilla de 2x2 tendría 9 verticies, 4 posiciones de victoria de 1x1 y 1 posición de victoria de 2x2. Con el juego que termina con una victoria para la persona que completa un cuadrado, y un empate una vez que ambos jugadores hayan agotado las soluciones de Winable.
ya que sus cuadrados de trabajo son un poco lógicos. puede calcular la membresía de cualquier línea en todos los casilleros posibles. entonces en el ejemplo 2x2 un radial tendría membresía en 2 cajas de 1x1 y un lado tendría una membresía en uno 1x1 y uno 2x2. Esta membresía se vuelve importante.
al comienzo del juego, usted genera todas las membresías para todos los segmentos de línea. haz 2 copias ... (como jugar al acorazado) la COPIA ENEMIGADA se iniciará en el número de vueltas que le quede para terminar cada casilla ... así que en el 36x36 habrá 144 movimientos restantes para terminar la caja grande 4 series de 140movimientos para terminar las 4 cajas de 35x35
Durante sus movimientos usted disminuye todas las casillas afectadas en la COPIA ENEMIGA Durante su movimiento, cualquier movimiento que haga invalidará TODAS las casillas que contengan su movimiento. los pones en negativo 1, o infinito o 2 mil millones ... solo algo para saber que estos cuadrados son imposibles.
Ahora crea una COPIA ANTI-ENEMIGO que es el reverso de la copia enemiga ... esta contiene cuántos movimientos se deben completar para completar un cuadrado dado.
Para un movimiento dado ... primer control para una situación de victoria. si puedes moverte y ganar (antienemia con un cuadrado en uno) Luego verifique si se necesita un bloqueo. (Tablero enemigo con cualquier cuadrado en uno)
ahora añadir una función de tipo minimax si su tan inclinado ..
o utilizar la búsqueda para encontrar las posiciones que destruyen tantas casillas acabado de baja como sea posible, o crear una línea eso reduce múltiples cuadrados bajos en el tablero anti-enemigo. Esto debería funcionar de manera razonable, ya que no trata de terminar ningún cuadrado específico, sino un minimax en el que los dos disparos para el puntaje bajo va a ser un mejor escenario.
Supongo que solo tiene que tener piezas en las esquinas de la escuadra para ganar, y no puede moverse en un espacio donde su oponente ya se ha movido? ¿El cuadrado tiene que estar alineado con los ejes, o un cuadrado inclinado de 45 grados gana el juego? –
1x1 también es un cuadrado que haría el juego bastante fácil de ganar si vas primero :-) – paxdiablo
Para continuar las preguntas de Jason, ¿qué constituye un "cuadrado de cualquier tamaño"? Cuatro esquinas, el contorno de un cuadrado, un azulejo sólido? – John