avestura /
Minesweeper-Persian
💣 A simple GUI implementation of Minesweeper in java
44/100 healthLoading repository data…
ebarlas / repository
Minesweeper implemented in Java using virtual threads and communicating sequential processes
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Minesweeper CSP is a Java implementation of Microsoft Minesweeper using communicating sequential processes (CSP).
Each game tile is an independent, anonymous process and all communication occurs via (buffered) channels. No explicit synchronization primitives are used beyond channels.
It's built atop virtual threads, defined in JDK Enhancement Proposal (JEP) 425 and available as a preview feature starting in Java 19.
The virtual threads feature is part of Project Loom.
Prior to virtual threads, CSP-style programming in this manner simply wasn't available in Java.
An OpenJDK 19 or later build is required. At the time of this writing, virtual
threads are a preview feature. That is why --enable-preview is provided below.
Build with mvn:
mvn compile
Run:
java --enable-preview -cp target/classes/ minesweeper.Main
Compile with javac:
javac --enable-preview -source 19 src/main/java/minesweeper/*.java -d build/
Run:
java --enable-preview -cp build/ minesweeper.Main
Include beginner, intermediate, or advanced command-line argument to select a difficulty.
java --enable-preview -cp build/ minesweeper.Main advanced
| Difficulty | Rows | Columns | Mines | Mine Density |
|---|---|---|---|---|
| Beginner | 9 | 9 | 10 | 12% |
| Intermediate | 16 | 16 | 40 | 16% |
| Advanced | 16 | 30 | 99 | 21% |
All game assets were created from scratch in Inkscape and rasterized to PNG images.
Every tile runs in its own process, defined in Cell.java. Cell processes communicate with each other via channels.
The game controller runs in its own process, defined in Game.java.
The window runs in its own process, defined in Window.java.
Finally, the clock runs in its own process, defined in Clock.java.
Selected from shared topics, language and repository description—not editorial ratings.
avestura /
💣 A simple GUI implementation of Minesweeper in java
44/100 healthOpenGenus /
Minesweeper Game implemented in Java Programming Language. [Complete Source Code with explanation]
36/100 healthrafailsialakis /
A classic Minesweeper game implemented in Java. The game features a grid of cells where some cells contain hidden mines. The goal is to uncover all non-mined cells without triggering any mines. The game provides hints based on adjacent mines and allows players to flag potential mine locations.
Jithu-SM /
A simple and visually appealing browser-based implementation of Minesweeper, featuring animations, timer functionality, and win/loss messaging. Built with HTML, CSS, and JavaScript, this project is great for learning grid-based game design and basic interactivity in web development.
39/100 healthkatwre /
Minesweeper implemented in JAVA
35/100 healthMakeTheBrainHappy /
Minesweeper implemented in the Java Console
30/100 health