16 Commits

Author SHA1 Message Date
5b20a3e97b Make macro for looping through adjacent tiles 2025-03-22 13:34:13 +00:00
7156efc99c Add simple contradiction-driven search mechanism
Gets an about 6% improvement
2025-03-22 13:34:13 +00:00
4e9a787e36 Detect contradictions in update() 2025-03-22 13:34:13 +00:00
49417b4840 Add SAFE state to indicate un-probed safe tile 2025-03-22 13:34:13 +00:00
3d4cfc7a0c Add error checking and better reporting 2025-03-22 13:34:13 +00:00
ac48d84a81 Refactor to extract update() function 2025-03-22 13:34:13 +00:00
9d7cd40b54 Run 1000 times and measure success rate 2025-03-22 13:34:13 +00:00
4ffed4e4ce Keep track of total mines and total unknowns 2025-03-22 13:34:13 +00:00
127b7a17ea Never probe known mines 2025-03-22 13:34:13 +00:00
778b2defdd Restart update after identifying mine 2025-03-22 13:34:13 +00:00
6400079289 Probe known-safe tiles 2025-03-22 13:34:13 +00:00
699e6b118d Guess and update in a loop 2025-03-22 13:34:13 +00:00
7cdf4dcae6 Identify mines on edges 2025-03-22 13:34:13 +00:00
9508362149 Pick an initial point at random 2025-03-22 13:34:13 +00:00
b2d9dcb6fe Set up solve state 2025-03-22 13:34:13 +00:00
0c0ccc2930 Implement puzzle generation 2025-03-22 13:34:13 +00:00