[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/mines 34d088c 34/43: Reimplement mines-end-p
From: |
Stefan Monnier |
Subject: |
[elpa] externals/mines 34d088c 34/43: Reimplement mines-end-p |
Date: |
Mon, 30 Nov 2020 18:44:19 -0500 (EST) |
branch: externals/mines
commit 34d088c92427af72567113305a4ab7f46a03067a
Author: tino calancha <tino.calancha@gmail.com>
Commit: tino calancha <tino.calancha@gmail.com>
Reimplement mines-end-p
`mines-end-p' sometimes fails to detect a completed game.
The current implemention checks for a sufficient but not
necessary condition for the game to be completed.
Assuming a board with N cells, with M of those cells
(N > M) containing a mine; if the user already have
uncovered N - M mine-free cells, then the game
is completed. That means is necessary and sufficient
to check that
M = 'number of uncovered cells' .
* mines.el (mines-end-p): End game if the number of uncovered
cells equals `mines-number-mines'.
Problem reported by Rolf Ade here
https://github.com/calancha/Minesweeper/issues/2
---
mines.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mines.el b/mines.el
index b82fa71..6ac8015 100644
--- a/mines.el
+++ b/mines.el
@@ -709,7 +709,7 @@ call this command again, the cell is unflagged."
(defun mines-end-p ()
"Return non-nil when the game is completed."
- (equal mines-mine-positions (mines--find-pos nil mines-state)))
+ (= mines-number-mines (length (mines--find-pos nil mines-state))))
(defun mines-first-move-p ()
"Return non-nil if any cell has been revealed yet."
- [elpa] externals/mines 3308a99 38/43: * packages/mines/mines.el: Keep flag in mines-state, (continued)
- [elpa] externals/mines 3308a99 38/43: * packages/mines/mines.el: Keep flag in mines-state, Stefan Monnier, 2020/11/30
- [elpa] externals/mines e090a90 40/43: * mines.el: Make sure the first move is successful, Stefan Monnier, 2020/11/30
- [elpa] externals/mines bea3ad8 42/43: * packages/mines/mines.el (mines-auto-flag): New custom var, Stefan Monnier, 2020/11/30
- [elpa] externals/mines 97e0a05 43/43: * mines.el: Adjust docs for the @ => SPC change, Stefan Monnier, 2020/11/30
- [elpa] externals/mines 92399df 29/43: * packages/mines/mines.el: Bump version to 1.2, Stefan Monnier, 2020/11/30
- [elpa] externals/mines 868e9b9 35/43: * mines.el: Bump version to v1.6, Stefan Monnier, 2020/11/30
- [elpa] externals/mines e127c84 30/43: Add fallback function for read-multiple-choice, Stefan Monnier, 2020/11/30
- [elpa] externals/mines bf577b0 31/43: Sort the score file from better to worst results, Stefan Monnier, 2020/11/30
- [elpa] externals/mines 179ed77 32/43: Dont prompt user when updating the score file, Stefan Monnier, 2020/11/30
- [elpa] externals/mines 9b07cb6 33/43: Do not uncover flagged cells if the user dont want that, Stefan Monnier, 2020/11/30
- [elpa] externals/mines 34d088c 34/43: Reimplement mines-end-p,
Stefan Monnier <=
- [elpa] externals/mines 5920f2d 37/43: * mines/mines.el (mines-grid): Use `bomb` instead of t, Stefan Monnier, 2020/11/30
- [elpa] externals/mines f11e546 41/43: * mines.el (mines-mode-map): Add mouse bindings, Stefan Monnier, 2020/11/30