Archivo README para el proyecto Crossword Anagram Autor: Seth Cattanach Otoño de 2017
Este proyecto es una implementación en C++ de un generador de crucigramas de anagramas.
Al ejecutar el ejecutable de "crucigrama" proporcionado (o crear el ejecutable con los archivos del repositorio y el Makefile proporcionados), el usuario puede ingresar una lista de palabras (hasta 20) y el programa intentará colocar cada palabra en el tablero. Cuando se ha especificado el final de la entrada (carácter CRTL-d o '.'), el programa generará tres elementos: el tablero de "solución" con todas las palabras colocadas apropiadamente, el tablero de "rompecabezas" con espacios en blanco indicados por el ' _' personaje y una lista de pistas para resolver el rompecabezas.
Cada pista del rompecabezas es un anagrama de la palabra objetivo. Por ejemplo, una pista dada podría dar una coordenada y leerse "GOCIND"; al resolver este anagrama se obtendría la palabra "CODIFICACIÓN" que se colocaría en la coordenada dada.
El usuario también puede ejecutar el ejecutable con una lista de palabras ya especificadas en un archivo de texto como argumento de línea de comando. Ejemplo:
./crucigrama palabras de muestra.txt
Esto omitirá la "ingreso manual de palabras" y el programa generará y mostrará inmediatamente un crucigrama.
Para guardar la salida del programa en un archivo de texto, simplemente especifique un archivo como otro argumento de la línea de comando y el programa guardará el tablero de solución, el tablero del rompecabezas y las pistas de anagrama en el archivo especificado. Ejemplo:
./crucigrama palabras de muestra.txt salida.txt
Esto ejecutará el ejecutable "crucigrama" con palabras de entrada de "samplewords.txt" y guardará el crucigrama generado en "output.txt".
El Makefile proporcionado permite al usuario compilar fácilmente el código fuente del proyecto. Para hacerlo, simplemente ejecute "make" en el directorio del proyecto. Ejecute "make clean" para eliminar todos los archivos de objetos intermedios creados durante los procesos de compilación/vinculación, así como el ejecutable.