Don't check all map options if there's an infinite loop #33201
Merged
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.
If there are a lot of map configurations and there's an infinite loop, the code hangs for quite a while before animating the result. The reason for this is that we check every possible configuration prior to showing any results. As soon as we detect an infinite loop, we should break out of checking the possible grid configurations and immediately show the result.
See for example https://studio.code.org/s/express-2019/stage/17/puzzle/5, which has 144 possible configurations.
Also reduce the max number of ticks to 1000. This should be a high enough upper bound for maze.
Links
Testing story
Reviewer Checklist: