Commit Graph

134 Commits

Author SHA1 Message Date
Florine W. Dekker 49d27986b2
Add colours to status bar icons
Fixes #70.
2020-08-05 19:51:07 +02:00
Florine W. Dekker 1acdc3a84e
Rename game to Minesweeper
Fixes #71.
2020-08-05 19:32:01 +02:00
Florine W. Dekker 6d11be2886
Add confetti and redness
Fixes #46.
2020-08-05 19:28:35 +02:00
Florine W. Dekker efecb14cec
Slightly optimise drawing or something 2020-08-05 17:27:00 +02:00
Florine W. Dekker 6008a166b0
Fix canvas top border flickering
Fixes #59.
2020-08-05 17:25:16 +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 6fbdc17bce
Add overlay for seed input
Fixes #62.
2020-08-04 21:41:10 +02:00
Florine W. Dekker c2544c520c
Fix incorrect overlay closing in Chrome
Fixes #61.
2020-08-04 21:04:22 +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 de87838da6
Fix typos
Also change the versioning scheme.
2020-08-04 00:00:18 +02:00
Florine W. Dekker d40cdb2d43
Cache neighbours of squares 2020-08-03 18:57:12 +02:00
Florine W. Dekker 3b336a6a03
Correctly reposition overlay for large pages
Fixes #57.
2020-08-03 17:32:08 +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 312818ab48
Make solver remove flags before starting game 2020-08-03 12:40:46 +02:00
Florine W. Dekker 925102e3ec
Make solver distrust player's flags
Fixes #54.
2020-08-03 12:37:04 +02:00
Florine W. Dekker 69c43996d7
Close overlay on Esc or click outside of overlay
Fixes #53.
2020-08-03 11:41:25 +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 836aaa6271
Split solver results into two sequences
Fixes #52.
2020-08-02 20:45:54 +02:00
Florine W. Dekker 54f0656e20
Stop displaying all bombs after losing
Fixes #50.
2020-08-02 18:39:33 +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 21c27ada60
Hide field until rendering is complete
Fixes #45.
2020-08-02 17:26:11 +02:00
Florine W. Dekker 5117d3b045
Add death counter
Fixes #42.
2020-08-02 17:23:35 +02:00
Florine W. Dekker c7b097913e
Split up draw function
Fixes #44.
2020-08-02 17:16:17 +02:00
Florine W. Dekker 92ac1201dc
Change times to display minutes 2020-08-02 16:47:59 +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 4d06ba4215
Add difficulty presets
Fixes #29.
2020-08-01 18:37:44 +02:00
Florine W. Dekker a7908faa87
Make status bar at bottom easier on the eye
Fixes #39.
2020-08-01 17:27:46 +02:00
Florine W. Dekker 2a01a9d780
Surround field with border
Fixes #27.
2020-08-01 15:53:50 +02:00
Florine W. Dekker 10050fe1e2
Improve performance of `uncover`
Fixes #36.
2020-08-01 15:12:26 +02:00
Florine W. Dekker e65a587261
Allow string seeds
Fixes #38.
2020-08-01 14:50:58 +02:00
Florine W. Dekker 0010b9c71c
Move buttons to top, rewrite Game constructor 2020-08-01 14:42:36 +02:00
Florine W. Dekker f4571e9567
Replace seed input with button
Fixes #26.
2020-08-01 14:09:44 +02:00
Florine W. Dekker e3b3228e59
Prevent mine duplication
Fixes #37.
2020-08-01 13:49:38 +02:00
Florine W. Dekker 2c80abc226
Highlight too many flags around square
Fixes #34.
2020-08-01 02:08:44 +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 9bb75784a8
Solve miscellaneous out-of-range bug
Occurs sometimes when the number of open squares is less than the number of neighbouring covered squares.
2020-08-01 00:18:51 +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
Florine W. Dekker 671fb5ff2a
Move fonts to subdirectory 2020-07-31 11:57:01 +02:00
Florine W. Dekker 15bea44e02
Set presets to standard easy difficulty 2020-07-31 00:18:42 +02:00
Florine W. Dekker f3fb004a05
Remove cursor highlight 2020-07-31 00:11:32 +02:00
Florine W. Dekker 49c61efa28
Check for nullity where possible 2020-07-31 00:05:46 +02:00
Florine W. Dekker 8c90525230
Allow solving before first click
Fixes #28.
2020-07-30 23:39:48 +02:00
Florine W. Dekker de7b40c3c8
Add colours to numbers
Fixes #24.
2020-07-30 23:21:31 +02:00
Florine W. Dekker 912f3410a4
Improve cover symbol visuals
Fixes #15.
2020-07-30 23:00:08 +02:00
Florine W. Dekker c71f9cbc84
Add win/lose indicators
Fixes #16.
2020-07-30 21:58:23 +02:00
Florine W. Dekker b21dc19815
Ensure no random crashes hopefully 2020-07-30 21:39:39 +02:00
Florine W. Dekker 971fcaeac1
Validate board size validity 2020-07-30 21:28:47 +02:00
Florine W. Dekker 793da19c00
Remove mines from starter neighbours as well
Fixes #9.
2020-07-30 21:26:16 +02:00
Florine W. Dekker a167922c00
Fix moving mine to wrong square 2020-07-30 20:56:13 +02:00
Florine W. Dekker 7d280f2604
Properly rescale field after starting new game 2020-07-30 20:43:37 +02:00
Florine W. Dekker 452300f1e7
Fill in all flags after win
Fixes #23.
2020-07-30 20:31:34 +02:00
Florine W. Dekker 64d37ad8e0
Highlight cells being chorded
Fixes #6.
2020-07-30 20:18:45 +02:00
Florine W. Dekker a61534d288
Resolve annoying matrix error message
Fixes #21.
2020-07-30 12:05:36 +02:00
Florine W. Dekker 5c432e0a5f
Let solver solve whole field in one go 2020-07-30 12:03:47 +02:00
Florine W. Dekker bc6934ba15
Unhighlight square after mouse leaves canvas
Fixes #20.
2020-07-30 11:52:33 +02:00
Florine W. Dekker 87b301cdd9
Start game only after fonts have been loaded 2020-07-30 11:45:00 +02:00
Florine W. Dekker a83d1ff1ac
Replace counts with monospace icons 2020-07-30 00:07:16 +02:00
Florine W. Dekker 52302769b8
Use semi-pretty icons as symbols 2020-07-29 23:33:07 +02:00
Florine W. Dekker 602d83b383
Add timer
Fixes #6.
2020-07-29 22:37:26 +02:00
Florine W. Dekker acffa4ca0f
Display number of mines left
Fixes #17.
2020-07-29 22:25:14 +02:00
Florine W. Dekker 81206c5a87
Fix scaling issues
Fixes #18.
2020-07-29 21:01:51 +02:00
Florine W. Dekker cbd5235854
Improve solver algorithm 2020-07-29 10:51:16 +02:00
Florine W. Dekker 69367b9247
Resolve mixed-up coordinate system
Fixes #13.
2020-07-28 23:40:54 +02:00
Florine W. Dekker 0802f2d2d5
Remove logging, rearrange divs 2020-07-28 23:34:44 +02:00
Florine W. Dekker 7fac1fe25d
Show skull and uncover field after finishing
Fixes #1. Fixes #2.
2020-07-28 21:43:17 +02:00
Florine W. Dekker e9b4f7749e
Allow chording with LMB+RMB
Fixes #5.
2020-07-28 21:25:49 +02:00
Florine W. Dekker 18d17cbe3b
Fix erroneous trigger for first mine move 2020-07-28 21:20:51 +02:00
Florine W. Dekker 86b30676ff
Freeze field after completion
Fixes #4. Fixes #8.
2020-07-28 00:06:40 +02:00
Florine W. Dekker c270b643e1
Replace RNG library with a smaller one 2020-07-26 21:26:49 +02:00
Florine W. Dekker ecd82d3f4d
Add first semi-working solver 2020-07-26 00:57:21 +02:00
Florine W. Dekker 08b707d017
Simplify some calls 2020-07-25 22:00:33 +02:00
Florine W. Dekker 7dd4af8787
Simplify iteration using lambdas 2020-07-25 21:00:04 +02:00
Florine W. Dekker 4ad68b6a8f
Use dependency for RNG library 2020-07-25 20:47:15 +02:00
Florine W. Dekker e67631fcd4
Prevent MMB scrolling 2020-07-25 20:41:56 +02:00
Florine W. Dekker 65da82257b
Set up deployment with npm 2020-07-25 20:35:59 +02:00