Hacker News new | ask | show | jobs
by mkl 2071 days ago
Even simpler still is to just move any mine clicked on in the first move into an empty square before processing the clicked square as normal.
2 comments

This is what actually happens in the Windows original (it doesn't look for a random empty square, it tries them in reading order starting from the top left).
That needs a list of empty cells, otherwise you need to retry and get the same issue as the map-wide regeneration.
Well you have all the cells in an array so that's easy enough. Pick a cell at random until you find an empty one, which won't take long. There's no regeneration, just moving one mine to an easy to find place.