Skip to content

๐ŸŽฎ A Minesweeper like puzzle game, built using Jetpack Compose, for Android.

License

Notifications You must be signed in to change notification settings

kumarbusem/minesweeper-j-compose

ย 
ย 

Repository files navigation

Minesweeper w/ Jetpack Compose

This is a Minesweeper-like puzzle game, built using Jetpack Compose, for Android.

The objective of this game is to clear a rectangular board containing hidden "mines" or bombs without detonating any of them, with help from clues about the number of neighboring mines in each cell.

Try out the app, download the apk from the link below:

Minesweeper-JC

Demo

Dark mode Light mode
Using Views - Light theme Using Views - Dark theme

Features :

  • Zoomable and Panabel minefield
  • Safe first click - The first cell is never a mine as the minefield is generated around the first click
  • Multiple difficulty levels to choose from
  • Haptic & Aural feedback
  • Day / Night theme
  • Animating gradient cell background
  • Randomly generated levels

Controls :

  • Tap a cell to reveal it
  • Long press an unrevealed cell to flag/unflag it
  • Tap an already revealed cell to expose potentially solved cells

Package Structure :

com.jayasuryat.minesweeperjc
โ”œโ”€โ”€ ๐Ÿ“‚ app/                          # App module
โ”‚   โ”œโ”€โ”€ presentation/                 # Navigation & Screens
โ”‚   โ”œโ”€โ”€ theme/                        # Theming
โ”‚   โ””โ”€โ”€ MinesweeperApp.kt
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ minesweeper-engine/           # Module for driving all the logics of the game
โ”‚   โ”œโ”€โ”€ controller/                   # Game actions, events, game controller and action handlers
โ”‚   โ”‚   โ””โ”€โ”€ model/                    # Models for actions and events
โ”‚   โ”œโ”€โ”€ gridgenerator/                # Generators for the minefield
โ”‚   โ”œโ”€โ”€ model/                        # Models for cells and grid
โ”‚   โ”œโ”€โ”€ state/                        # Stateful grid and utils
โ”‚   โ””โ”€โ”€ util/
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ minesweeper-engine-debug/     # Module for debug utils related to minesweeper-engine
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ minesweeper-ui/               # Module for all of the UI components of the mine grid
โ”‚   โ””โ”€โ”€ composable/
โ”‚       โ”œโ”€โ”€ action/                   # Action listeners for Minefield interaction actions
โ”‚       โ”œโ”€โ”€ cell/                     # All composables related to MineCells
โ”‚       โ”œโ”€โ”€ component/                # Helper composables
โ”‚       โ”œโ”€โ”€ grid/                     # All composables related to MineGrid
โ”‚       โ””โ”€โ”€ theme/                    # Theming for Minefield UI components
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ ui-game/                      # Module for the actual MineField screen
โ”‚   โ”œโ”€โ”€ composable/                   # All UI components
โ”‚   โ”‚   โ”œโ”€โ”€ feedback/                 # Composables for handling feedback
โ”‚   โ”‚   โ””โ”€โ”€ topbar/                   # Composables for game TopBar
โ”‚   โ”œโ”€โ”€ feedback/                     # Helper classes for performing feedback operations
โ”‚   โ”œโ”€โ”€ logic/                        # Game logic coordinators
โ”‚   โ””โ”€โ”€ GameScreen.kt                 # Actual Game-Screen
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ ui-difficulty-selection/      # Module for difficulty selection screen
โ”‚
โ””โ”€โ”€ ๐Ÿ“‚ util/                         # Module for common utilities

Credits

All the SFX used in this project are sourced from freesound.org and are licensed under the Creative Commons 0 License.

License

 Copyright 2021 Jaya Surya Thotapalli

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

About

๐ŸŽฎ A Minesweeper like puzzle game, built using Jetpack Compose, for Android.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Kotlin 100.0%