Coder Social home page Coder Social logo

minesweeper's Introduction

๐Ÿš€ Minesweeper ๐Ÿ˜Ž๐Ÿ’ฅ

๐ŸŽฎ A dark-mode Minesweeper desktop app built using JetBrains Compose for Desktop.

๐Ÿ“ Game details

The game follows the classic rules with 3 built-in levels, as well as a custom level that allows the user to choose the size of the game grid and the amount of mines.

๐Ÿ’ผ Features

  • Recursive expansion of selected cells with no surrounding mines
  • Left- vs right-click mouse handling
  • Use of Canvas to draw composables (including 7-segment digital screens) with a retro feel
  • Window menu items trigger pop-up dialogs for: viewing rules, customizing game options
  • Pop-up dialog triggered when in-game time exceeded, handled by state holder and Timer()
  • Text fields validate input while typing and trigger composition of appropriate error messages regardless of focus order
  • Robust model and UI test suites

๐Ÿ’ป Run desktop application

Clone the repository then pick an option:

  • Open the project in IntelliJ IDEA and run Main.kt

  • ./gradlew run from an open terminal in the root of the project

  • Open the Gradle toolbar and select minesweeper/Tasks/compose desktop/run

๐Ÿ”ฌ Run tests

Clone the repository then pick an option:

  • Open the project in IntelliJ IDEA then choose specific tests using gutter icons or right-click the src/test folder and select Run 'Tests in 'minesweeper.test''

  • ./gradlew test from an open terminal in the root of the project

  • Open the Gradle toolbar and select minesweeper/Tasks/verification/test

minesweeper's People

Contributors

bog-walk avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

hikari-dev

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.