This Minesweeper is built in React Native by Expo. And used TailwindCss for Styling. I used Redux to store the data to restore the game data after users reopen the app. And I imported Google Font - IBM_Plex_Mono for styling.
It only tested the local development with iPhone 14 Pro simulator.
- Xcode
- NodeJS
- Install Expo CLI globally
npm i -g expo-cli
- Install the required package by
npm i
- Launch the app with
expo start --dev-client
and then enteri
for choosing ios system.
It is a classic game called Minesweeper which you can design the board size and number of bombs by yourself. (The app will be very lag if you create a large board, e.g 100 x 100) There is a timer for recording your play time and a bombs counter that shows the number of bombs left.
You can also restart the game anytime by tapping the restart icon button.
There are 2 modes, Flag mode, and Shovel mode.
Under the Flag mode, every tap will be considered to flag the cell. If you long tap the cell, the cell will be flipped.
Under the Shovel mode, every tap will be considered to flip the cell.
If you flipped the bombs, you lose the game.
Back to the Home screen, you can choose to start a new game and continue the game. And select the light/dark mode.
And there is a record button that navigates the player to the Record screen which displays the game records. Players can choose to delete all the records.
- Flag all bombs in Flag mode or,
- Flip all cells that are not bombs in Shovel mode.
You need to have an Apple Developer account during deployment
- Login your Expo account
expo login
- Build your app
npm run build:ios
- Publish the app
expo publish