diff --git a/.vscode/launch.json b/.vscode/launch.json index 8de02e9..913c755 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -34,9 +34,9 @@ "request": "launch", "program": "${workspaceFolder}/build/game_solve", "args": [ - "-s gdefault.txt", - "gdefault.txt", - "gdefaultsol.txt" + "-s", + "${workspaceFolder}/build/gdefault.txt", + "${workspaceFolder}/build/gdefaultsol.txt" ], "stopAtEntry": false, "cwd": "${fileDirname}", diff --git a/game_tools.c b/game_tools.c index 37e7966..5f59524 100644 --- a/game_tools.c +++ b/game_tools.c @@ -117,15 +117,13 @@ bool aux_game_solve(game g, uint deep) { if (game_get_state(g, i, j) == S_BLANK) { game_set_square(g, i, j, S_LIGHTBULB); game_update_flags(g); - if (game_has_error_general(g)) { - game_set_square(g, i, j, S_BLANK); - return false; - } - if (game_is_over(g)) - return true; - if (deep > 1) { - if (aux_game_solve(g, deep - 1)) { + if (!game_has_error_general(g)) { + if (game_is_over(g)) return true; + if (deep > 1) { + if (aux_game_solve(g, deep - 1)) { + return true; + } } } game_set_square(g, i, j, S_BLANK);