Commit Graph

45 Commits

Author SHA1 Message Date
Florine W. Dekker 0e0238687a
Use template's Storage class 2022-03-26 19:44:55 +01:00
Florine W. Dekker 74b2cb9b27
Make Solver class and methods static 2021-11-14 15:54:52 +01:00
Florine W. Dekker 7541898fe5
Update dependencies 2021-02-25 10:29:53 +01:00
Florine W. Dekker 6a003c0dd7
Auto-chord empty square even with flags
Fixes #92.
2020-10-22 17:05:06 +02:00
Florine W. Dekker 53dd327786
Add draft implementation of high scores 2020-09-02 17:58:40 +02:00
Florine W. Dekker ddb27c8061
Remove duplication by separating types in Storage 2020-09-02 17:27:37 +02:00
Florine W. Dekker 11bc3f9be7
Add silly statistic 2020-09-01 17:47:45 +02:00
Florine W. Dekker 07f028d369
Do not count statistics during solver
Also fixes #72.
2020-09-01 17:36:45 +02:00
Florine W. Dekker 71d61a8916
Avoid using undefined where possible
Fixes #86.
2020-08-13 11:13:00 +02:00
Florine W. Dekker f94ee57811
Refine win/loss statistic measurements
Losses are no longer counted since they can be inferred from the existing statistics. Instead, there is now a `minesUncovered` statistics, and redoing an uncovering of a mine will also increase this statistic. Finally, made sure that `wasAutoSolved` cannot be set to `false` again.
2020-08-13 10:55:53 +02:00
Florine W. Dekker 1e840ae7c2
Implement question marks
Fixes #75.
2020-08-12 18:52:02 +02:00
Florine W. Dekker 5b62f2c427
Adjust some statistics 2020-08-09 14:28:25 +02:00
Florine W. Dekker aa2923a245
Add statistics tracking
Fixes #76.
2020-08-08 02:41:21 +02:00
Florine W. Dekker fb1825b262
Make Field fields mostly private
Fixes #66.
2020-08-07 12:35:39 +02:00
Florine W. Dekker b6b817e10c
Add timer for finding solvable field 2020-08-07 12:24:56 +02:00
Florine W. Dekker 3ec38607ca
Fix mine count after win
Fixes #81.
2020-08-07 11:38:09 +02:00
Florine W. Dekker 77758e8277
Implement redo button
Fixes #78.
2020-08-07 00:19:17 +02:00
Florine W. Dekker 36851cae42
Rename fields to be betterer
Fixes #67.
2020-08-06 21:03:25 +02:00
Florine W. Dekker 388ab829c2
Stop uncovering after uncovering mine
Fixes #73.
2020-08-06 11:44:11 +02:00
Florine W. Dekker adc9037372
Inline undoable actions 2020-08-05 22:37:32 +02:00
Florine W. Dekker fde0b1d31b
Update flag count on adding/removing flag
Fixes #69.
2020-08-05 13:15:18 +02:00
Florine W. Dekker 7e86994ecf
Give coords to solver when solving
Fixes #68.
2020-08-04 21:43:45 +02:00
Florine W. Dekker 86352768de
Clean up a bit of code
Fixes #58.
2020-08-04 21:00:12 +02:00
Florine W. Dekker 1fdf55734b
Move first click logic into `uncover`
Also fixes #65.
2020-08-04 20:48:57 +02:00
Florine W. Dekker b7361256a2
Move change detection control to Field 2020-08-04 20:26:05 +02:00
Florine W. Dekker 551d36ca56
Implement `runUndoably` to hide `history` field
Fixes #64.
2020-08-04 20:02:10 +02:00
Florine W. Dekker d40cdb2d43
Cache neighbours of squares 2020-08-03 18:57:12 +02:00
Florine W. Dekker cd86f60456
Switch to different RNG
Fixes #56.
2020-08-03 17:25:03 +02:00
Florine W. Dekker ffaaf3bf15
Refactor field for better maintainability
Fixes #55.
2020-08-03 17:02:18 +02:00
Florine W. Dekker 7ea598ac95
Add experimental option to ensure solvability
Fixes #30.
2020-08-03 15:50:43 +02:00
Florine W. Dekker a6c2776b06
Do not resume game after undoing with 0 mines
Fixes #51.
2020-08-02 20:49:18 +02:00
Florine W. Dekker 16285257b6
Ensure first click cannot be undone
Fixes #49.
2020-08-02 18:31:35 +02:00
Florine W. Dekker 0cabcdc74e
Add pausing counter, fix death counter
Fixes #47.
2020-08-02 17:55:49 +02:00
Florine W. Dekker 5117d3b045
Add death counter
Fixes #42.
2020-08-02 17:23:35 +02:00
Florine W. Dekker d28069ac22
Implement undo button
Fixes #11.
2020-08-02 16:22:18 +02:00
Florine W. Dekker 99788e3090
Improve custom difficulty selection
Fixes #41.
2020-08-02 14:46:38 +02:00
Florine W. Dekker aa53ad6d1b
Consistify documentation
Fixes #40.
2020-08-02 13:56:28 +02:00
Florine W. Dekker 4d06ba4215
Add difficulty presets
Fixes #29.
2020-08-01 18:37:44 +02:00
Florine W. Dekker 10050fe1e2
Improve performance of `uncover`
Fixes #36.
2020-08-01 15:12:26 +02:00
Florine W. Dekker e3b3228e59
Prevent mine duplication
Fixes #37.
2020-08-01 13:49:38 +02:00
Florine W. Dekker 480aeba120
Allow playing with only one non-mine
Fixes #32.
2020-08-01 01:59:43 +02:00
Florine W. Dekker 1450da5f1c
Make `uncover` non-recursive
Fixes #35.
2020-08-01 01:49:25 +02:00
Florine W. Dekker ebb56ee7c1
Remove scale, validate inputs
Fixes #25. Fixes #31.
2020-08-01 01:38:08 +02:00
Florine W. Dekker 0affcd0675
Make solver aware of remaining number of mines 2020-07-31 23:42:11 +02:00
Florine W. Dekker ac7c964ed0
Rewrite to TypeScript 2020-07-31 23:12:16 +02:00