38 ms·
I always thought Minesweeper would compute the minefield dynamically as you played instead of generating a fixed map of the minefield at the beginning of the ga
by Rjevski 9y ago
I always thought Minesweeper would compute the minefield dynamically as you played instead of generating a fixed map of the minefield at the beginning of the game.
- monochromatic 9y agoThere’s the possibility of painting yourself into a corner (generating an inconsistent board) if you do it on the fly. It could be done, but it’s probably just simpler to generate it at the outset and then do lookups. edit: unless you just meant that the adjacency numbers could be generated on the fly, in which case painting yourself into a corner isn’t a concern
- rashkov 9y agoThere is one place where it's dynamic, which is that if your very first click is on a mine, then it'll relocate it to the upper-left corner (or the next available spot).
- ATsch 9y agoI'm surprised it's done this way... I'd expect that it just doesn't generate the mines until the first click.
- ronilan 9y agoNice. I once wrote a “clone”[1] and when someone here pointed out the “first click is safe” feature, I implemented it by putting the reshuffle inside a while. Never thought of the first click as being “pre game”... [1] https://www.ronilan.com/bugsweeper/ https://www.ronilan.com/bugsweeper/
- Zarel 9y agoModern versions of Minesweeper actually makes it so nothing _around_ your first click is a mine, so you always reveal more than one square. https://guangcongluo.com/dminer/ https://guangcongluo.com/dminer/ is a version I wrote while trying to teach myself React.
- Spare_account 9y agoI'm now questioning my memory because I'm convinced I have hit a mine on the first click before ...
- davvolun 9y agoMaybe a clone?
- murkle 9y agoDo you mean something like this? (so you can always work out something logically ie no guessing) https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/mines.html https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/mine...
- plastroltech 9y agoThe fact that it doesn't can be exploited by running it in a virtual machine and using the snapshot feature to go back in time. That's how we made this Website is Down video: https://www.youtube.com/watch?v=1SNxaJlicEU https://www.youtube.com/watch?v=1SNxaJlicEU