Fixed recursion issue by resetting game without restarting the function #292
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, the game had two issues:
Unnecessary recursion: When a player chose to play again (y option), play_game() was called recursively instead of properly resetting the game, leading to function call stacking and potential memory issues.
Game continuing after pressing 'n' twice: If a player pressed 'n' once, the game sometimes did not exit immediately and continued running.
Attempts not resetting: The number of attempts was not resetting properly when the game restarted.
Changes made:
Replaced play_game() call with start(), ensuring a fresh reset without unnecessary recursion.
Fixed the issue where pressing 'n' twice caused the game to continue unexpectedly.
Ensured that the number of attempts resets correctly when starting a new round.
Impact:
The game now properly resets when a player chooses to play again.
The game exits immediately when 'n' is pressed.
The number of attempts resets correctly for each new game session.