8000 GitHub - bhardy/minesweeperb: react minesweeper
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

bhardy/minesweeperb

Repository files navigation

Todo

  • reveal state after loss needs to show clicked bomb and not show the adjacent cells
  • better event handling for clicking for mobile
  • quick reveal mode (chording)
  • color adjacent counts
  • store best time for each difficulty
  • disable clicking on flagged items
  • reveal should not reveal a flagged mine
  • add custom hook to handle long press
  • usePressHandler should not fire the event if the user drags
  • fix right clicking
  • update focus styling
  • animate mine placement
  • fix mobile layout
  • lock the game once you're in a win state (currently the user can click an unflagged mine and move from a win to a loss)
  • improve UX on clicking quick -- currently some clicks are being lost
  • add seeded mode
  • only update high score for non-seeded rounds
  • re-enable dismissing the new best time dialog
  • add daily challenge mode, using seeds
  • the win state should be composable (NewBestTime will become very gross very fast) - right now this shows a seed message on daily challenge win
  • determine if all menu options should be in the game dropdown or if they should be elsewhere. right now challenges are route based (including difficulty) so the select difficulty drop down is a bit weird. it could be updated so they can be overridden to transition routes
  • rewrite logic in a reducer
  • use custom svgs, not emojis
  • mobile styles -- lock the chrome to the viewport
  • reveal state after a loss should show incorrect flags
  • reveal state after a loss shouldn't show bombs in cells with correct flags
  • update all colors in .minesweeper to use css custom properties
  • add expanded mode -- mostly for mobile
  • fix multi touch issue where you can accidentally flag if both fingers don't touch at exactly the same time
  • enable chording on mobile
  • address accidental flags while moving fast (with mouse)
  • fix issue where you can still flag after losing
  • add tailwind + darkmode toggle to stories
  • stop unnecessary rerenders of cells
  • fix issue where you can't flag fast on mobile
  • simplify settings (cleaner defaults for mobile and desktop, advanced options as opt-in)
  • remove maximize toggle (temporary?)
  • add toggle for quick-flag mode
  • fix issue where loupe shows on ios
  • auto size pinch/pan area on touch devices
  • adjust mobile styles so everything is a bit bigger
  • add tutorial mode
  • auto-reveal (chording) should show the user the cells that will reveal while the mouse is down
  • re-enable isMaximized toggle (removed in ad0e926) but fix the layout shift after local storage hydration
  • remove click outside to dismiss end-game modals
  • add keyboard shortcut for new game
  • improve pinch/pan on mobile so that it scales between the users fingers
  • adjust mine generation to always use a seed -- if one isn't passed it should generate the seed first (random string?)
  • supply seed (& link) when game complete
  • add difficulty tier to seed route
  • update difficulty settings from daily challenge menu to update the page route
  • add question marks
  • address stuck focus state on cells
  • when holding quick reveal there's sometimes a bug where the user can see the revealed cell and then not reveal it
  • clean up how an initial board is passed to useMinesweeper
  • update useMinesweeper so that when it recieves a new initial board the game automatically resets

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

About

react minesweeper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0