[Community Puzzle] Minesweeper

https://www.codingame.com/training/medium/minesweeper-1

Send your feedback or ask for help here!

Created by @eulerscheZahl,validated by @JBM,@Marchete and @Djoums.
If you have any issues, feel free to ping them.

1 Like

This retro viewer is simply priceless!!!
Can we vote for your next puzzle?
+1 for a FreeCell solver, aber natürlich in Win 3.x style… :slight_smile:

1 Like

FreeCell is an interesting puzzle and should be doable as a weekend project. I’ll put it on my list.
Usually I try to learn something new in these contributions. E.g. this one has a system clock which shows the real time and a debug view that re-scales a part of the screen instead of changing visibility. None of those is possible if you stick to the Java part of the SDK.

I have another project in mind but that’s going to be a complicated one and I’m not sure if I have the passion to do it. So FreeCell seems a nice filler when the other project frustrates me too much.

Cool!
According to this article FreeCell problem has enough depth for multiple possible approaches, including GA, heuristics, etc. And most likely not brute-forceable in CG’s available solving timeframe.

Your puzzle made it in the last CG mailing, congratulations :grinning:

Mmm. I had a FreeCell implementation in the works.

Ok, FreeCell is all yours then.

Well, here’s a start: https://www.codingame.com/contribute/view/56162cb1ae8743fbda12c6b2eb519b8055a7

1 Like

someway a stupid question for sure … is there a way to put some flags or is it has to be memorized ?

sorry i just understood :smiley:

extremely funny !!! i got giggles during simulation specially for the hazardous heuristic strategy when no one of my real strategies occur… cheers ! *****

Got it at try 31 with the laziest AI ever :rofl:

I can assure you that success rates above 50% are possible :wink:

Yes when I look at the games that failed there were obvious moves to be done but my algorithm goes like this:

  • identify very obvious mines
  • deduce very obvious non mines and play one
  • if no obvious non mine, calculate probabilities of being a mine in the neighbourhoods of digit tiles, and play the tile with the lowest probability
  • if no digit tile with unknown tiles in their neighbourhood, play a random tile that is not a identified as mine

I think the structure is okay but the problem is the first part, I identify a mine only when the neighboors match exactly the digit, but there are many other ways to identify a mine/non mine.
Example:
|???
|111
|…
Here obviously the third ? is not a mine cause there is a mine among the first two ?s so the midle 1 cannot refer to the third ?.
My algorithm doesn’t detect this kind of stuff at all, that’s why I called it lazy.

1 Like

Spoiler Alert: If you want to solve some of the situations you mentioned, you may want to check out this video https://youtu.be/cGUHehFGqBc?t=146

It’s no longer completley lazy, but not too much effort either.