AlexBuz / mindsweeper

A principled take on minesweeper
https://alexbuz.github.io/mindsweeper/
GNU General Public License v3.0
65 stars 2 forks source link

Implemented flag counting assist #2

Closed gtsiam closed 6 months ago

gtsiam commented 6 months ago

Ok, this was supposed to be #1, but oh well. Changes include:

And finally, the reason I started all this:

I have it deployed here: https://gtsiam.github.io/mindsweeper/

gtsiam commented 6 months ago

Also if you're using vscode, try this extension to rewrap text. I have no affiliation with it, but it's just that useful.

Gurkenglas commented 6 months ago

Nice! I wished for it just before I became aware of this. Can you make the zeroes into empty tiles that immediately expand as though one had clicked on a 0 tile?

gtsiam commented 6 months ago

Not too sure about immediately expanding - My goal with this was regular minesweeper just with a visual assist. Though that could be an autopilot setting in the future. I'd have to deal with the menus though, and I've already spent enough time on this. I might come back to it in a few days, but for now I'll leave it as just the visual changes.

That said, I'm not sold on the visuals of 0s everywhere either - originally I had empty tiles instead of 0s, but that was confusing to play since you (where by "you", I mean "I") would often miss the 0 tiles. (Yes, immediately expanding would solve this, but again: I want a flight director, not an autopilot with this).

Gurkenglas commented 6 months ago

I think this becoming an autopilot would be fine - as the player improves, they would ideally be presented only with those questions where they need to develop some new technique. If eventually the game hangs because it's stuck in a loop of failing to find more complicated problems to throw at the player, that doesn't sound like a bad outcome.

AlexBuz commented 6 months ago

Thank you for the GitHub actions tip and the pull request. This feature is interesting. It seems like it's orthogonal to autopilot because either one can be safely enabled with or without the other?

Someone on Reddit had also asked for flag placement to trigger autopilot. I was thinking of doing that initially but had decided against it because I didn't want placing a flag to be a potentially dangerous operation (since if you misplace a flag then autopilot could reveal a mine) but I might just implement it, since I will admit I have found myself wanting this behavior on occasion too.

gtsiam commented 6 months ago

It is actually entirely compatible with autopilot (I've played quite a few games with it on and off): The changes are entirely visual, so they don't affect the gameplay at all. I was just personally tired of counting flags around numbers, so I made the game do it for me.

As a side note, the autopilot probably needs a few switches to turn certain of its features on or off (such as the proposed triggering by flags). Especially as you add more behavior to it.

AlexBuz commented 6 months ago

Awesome, it's merged now. I moved the option to the theme config though because it doesn't affect gameplay, just appearance.

gtsiam commented 6 months ago

@AlexBuz FYI, you can add things like .DS_Store to a global git ignore (say ~/.gitignore) by setting the core.excludesfile git config.