stastnypremysl / Mines3D

Minesweeper on n*m*2 matrix for Android.
https://play.google.com/store/apps/details?id=cos.premy.mines&hl=en
GNU General Public License v3.0
15 stars 5 forks source link

Win detection #14

Open d-albrecht opened 1 year ago

d-albrecht commented 1 year ago

In general I don't mind this in my everyday matches I play, but from a purely logical standpoint, recognizing a level as solved just because the player marked all and only the correct spots isn't really correct. Because given enough endurance a player could win a match without revealing any cells and by just guessing every possible mine pattern. A logical approach would be to count a level as solved, if all non-mine cells are correctly revealed (regardless of how many mine-markers were placed). If you want to use your approach, I would at least add a button to the UI. This button would become clickable as soon as you marked the required number of mines and effectively would try to reveal all the remaining non-marked cells. If your guess was right, you win, if you mis-placed a marker and the button would reveal a mine, you lose.

I would even go as far as to say, that this isn't even something that the user should be able to configure in the settings. As I said, your current approach isn't problematic most of the times, but it's a hack! And all the other settings don't offer hacks, just themes (BW/color, lines/numbers), difficulty (easy/hard( and usability features (auto/manual flood).

Still, right now that levels aren't strictly solvable by deduction, I can see some value in this approach because you can at least try some mine-patterns if you would have to guess near the end of a level. But again, this is a hack and not a valid strategy.

jasonkhanlar commented 6 months ago

I can't figure out how to place a mine marker in my first game, but I solved the puzzle leaving only 7 of 7 spaces untouched. The timer is still counting up.

lol nevermind, I figured it out https://github.com/stastnypremysl/Mines3D/blob/d5a103ea39292108110e0ea3d676b5c96abcedd8/app/src/main/java/cos/premy/mines/graphics/MineField.java#L276

lol and even an hour after I figured it out, I finally read the README explaining as well https://github.com/stastnypremysl/Mines3D/blob/d5a103ea39292108110e0ea3d676b5c96abcedd8/README.md?plain=1#L2

I was fooled by the description "Do you like challenges? Let's try one harder. The first task is to understand the rules of the game. The second one is to win it. " at https://f-droid.org/en/packages/cos.premy.mines/ and under the impression that the rules how to play wouldn't be so readily documented or mentioned, so I didn't bother to even read the README. But actually, given task of understanding the rules of the game, figuring out to read the README is a puzzle in and of itself! Kudos to the developer for such innovation!