https://github.com/ab20zip/dicemaster
DiceMaster is a sophisticated and visually appealing dice rolling application which offers a smooth animation and utilizes a complex algorithm to ensure completely unbiased dice rolls.
https://github.com/ab20zip/dicemaster
dice-roller java-fx kotlin
Last synced: 3 months ago
JSON representation
DiceMaster is a sophisticated and visually appealing dice rolling application which offers a smooth animation and utilizes a complex algorithm to ensure completely unbiased dice rolls.
- Host: GitHub
- URL: https://github.com/ab20zip/dicemaster
- Owner: Ab20zip
- License: mit
- Created: 2024-07-03T05:15:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-02T22:05:16.000Z (3 months ago)
- Last Synced: 2025-10-03T00:10:16.951Z (3 months ago)
- Topics: dice-roller, java-fx, kotlin
- Language: Kotlin
- Homepage:
- Size: 348 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Dicemaster
Dicemaster is a sophisticated and visually appealing dice rolling application built with Kotlin and JavaFX. It offers a
smooth animation and utilizes a complex algorithm to ensure completely unbiased dice rolls.
## Features
- **Unbiased Dice Rolls**: Uses the Mersenne Twister algorithm for random number generation, ensuring true randomness.
- **Smooth Animation**: Provides a visually pleasing rolling animation before displaying the final result.
- **User-Friendly Interface**: Simple and intuitive design, making it easy for users of all ages to enjoy.
- **Cross-Platform**: Works seamlessly on Windows, macOS, and Linux.
## Getting Started
### Prerequisites
- JDK 17
- Gradle 8.8
### Installation
1. **Clone the repository:**
```sh
git clone https://github.com/Ab20zip/dicemaster.git
cd dicemaster
```
2. **Build the project:**
```sh
./gradlew build
```
3. **Run the application:**
```sh
./gradlew run
```
## Screenshot

## Project Structure
```
Dicemaster
├── src
│ ├── main
│ │ ├── kotlin
│ │ │ └── com
│ │ │ └── altiran
│ │ │ └── dicemaster
│ │ │ └── DicemasterApp.kt
│ │ └── resources
│ │ └── dice1.png
│ │ └── dice2.png
│ │ └── dice3.png
│ │ └── dice4.png
│ │ └── dice5.png
│ │ └── dice6.png
│ └── test
│ └── kotlin
│ └── com
│ └── altiran
│ └── dicemaster
│ └── DiceRollTest.kt
├── build.gradle.kts
├── README.md
└── LICENSE.md
```
## Detailed Description
### Dice Rolling Algorithm
Dicemaster uses the Mersenne Twister algorithm, which is renowned for its high-quality random number generation. This
ensures that each dice roll is completely unbiased, providing a fair experience for all users.
### Animation
The dice rolling animation lasts for 1 second, during which the dice images cycle rapidly, mimicking the experience of a
real dice roll. This not only adds a layer of excitement but also enhances the overall user experience.
### User Interface
The interface consists of:
1. **Dice ImageView**: Displays the current face of the dice.
2. **Roll Button**: When clicked, initiates the dice roll animation and updates the dice face to a random number between
1 and 6.
## Contributing
Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.
## License
This project, "Dicemaster" is licensed under the MIT License.
See [LICENSE.md](https://raw.githubusercontent.com/Ab20zip/dicemaster/main/LICENSE.md) for details.
### Dice Images License
The six dice images used in this project are owned by Delapouite and are licensed under the Creative Commons Attribution
3.0 Unported License (CC BY 3.0).
- Dice images sourced
from: [Delapouite on Game-icons.net](https://game-icons.net/1x1/delapouite/dice-six-faces-one.html).
#### Attribution
- Dice images by [Delapouite](https://game-icons.net/1x1/delapouite.html)
- License: [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
---
Enjoy using Dicemaster for your gaming sessions or random number generation needs! 🎲