This Uno game is a project from the course "Introduction to Software Engineering" from the University of Massachusetts Boston.
You can run the src/main/java/uno/GameState.java
program to simulate the AI-based game and check who wins!
The game is run between 4 AI players using random logic on the console. Here are the following rules:
- The game is played with a deck where the number of digit, special, and wild cards can be customized (as seen in the main function in
GameState.java
). - The game is played with 4 players, and the size of the player's initial hand can also be customized.
- Every player's turn consists of attempting to play a card.
- If a player is unable to play a card, they must draw a card from the deck until they can play a card.
- The first player to have no cards in their hand wins the game.
Since this is a simplified version of the regular Uno game, here are some things to consider:
- There is no stacking of draw 2 and 4 cards.
- Players with 1 card in their hand do not need to call "Uno".
- You cannot challenge draw four cards (a modern Uno game rule).
- The jump-in rule from the Uno Steam game is not implemented.
A friendly GUI can be implemented to make it much more fun for the players. This can also shift to a player vs. player game rather than an AI-based game. Certain parts of the code can be improved, but this is an initial approach to the simplified Uno game to learn more about software engineering principles. More specifically, unit testing, documentation, and code readability.
This project belongs to CS410 - Introduction to Software Engineering from the University of Massachusetts Boston.