https://github.com/daroshchanka/uno-game
An uno card game implemented in Groovy. Player vs bots in CLI.
https://github.com/daroshchanka/uno-game
card-game cli-game game groovy uno uno-game
Last synced: 12 months ago
JSON representation
An uno card game implemented in Groovy. Player vs bots in CLI.
- Host: GitHub
- URL: https://github.com/daroshchanka/uno-game
- Owner: daroshchanka
- License: mit
- Created: 2022-03-26T11:44:20.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-13T20:43:11.000Z (over 1 year ago)
- Last Synced: 2025-02-01T02:43:30.735Z (about 1 year ago)
- Topics: card-game, cli-game, game, groovy, uno, uno-game
- Language: Groovy
- Homepage:
- Size: 85 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## uno-game

```groovy
____ ___ ________
| | \ ____ \_____ \
| | // \ / | \
| | /| | \/ | \
|______/ |___| /\_______ /
\/ \/
```
The game developed just for fun without looking to any already existing implementations.
A single player can play with 1-9 bots, or 2-10 bot players can play themselves.
There is a basic bot behavior implemented with a simple choose-cart strategy, which might be improved or worsened,
implementing corresponding interfaces and extending/adjusting the basic behavior.
### Rules
The rules are based on [Official Rules](https://en.wikipedia.org/wiki/Uno_(card_game)),
but without points counting and multiple iterations*.
- _*_ also, _Wild Draw Four_ card can be played without any restrictions and penalties, (but bots play it fairly when no such color or any other options).
### Start the Game
_Java 17+_ is required.
```bash
java -jar uno-game-1.0-SNAPSHOT-jar-with-dependencies.jar
```
### Game Process
- Enter your name and use follow instructions for choose card or color.
- Press `ENTER`/`RETURN` to move forward.
- Append your input with `+U` to say __UNO!__
- Enter an empty name to skip the game if you like the bots play alone.

### Build with Unit and Integration Tests
```bash
./mvnw clean verify
```
### Build (skip tests)
```bash
./mvnw clean package -DskipTests
```
### Unit Tests Coverage
See `target/jacoco-ut/index.html` report.