/** * @file game_tools.h * @brief Game Tools. * @details See @ref index for further details. * @copyright University of Bordeaux. All rights reserved, 2021. * **/ #ifndef __GAME_TOOLS_H__ #define __GAME_TOOLS_H__ #include #include #include "game.h" /** * @name Game Tools * @{ */ /** * @brief Creates a game by loading its description from a text file. * @details See the file format description in @ref index. * @param filename input file * @return the loaded game **/ game game_load(char* filename); /** * @brief Saves a game in a text file. * @details See the file format description in @ref index. * @param g game to save * @param filename output file **/ void game_save(cgame g, char* filename); /** * @brief Computes the solution of a given game * @param g the game to solve * @details The game @p g is updated with the first solution found. If there are * no solution for this game, @p g must be unchanged. * @return true if a solution is found, false otherwise */ bool game_solve(game g); /** * @brief Computes the total number of solutions of a given game. * @param g the game * @details The game @p g must be unchanged. * @return the number of solutions */ uint game_nb_solutions(cgame g); /** * @} */ #endif // __GAME_TOOLS_H__