Giter Site home page Giter Site logo

uno's Introduction

Uno

Overview

This Uno game is a project from the course "Introduction to Software Engineering" from the University of Massachusetts Boston.

Usage

You can run the src/main/java/uno/GameState.java program to simulate the AI-based game and check who wins!

Rules

The game is run between 4 AI players using random logic on the console. Here are the following rules:

  1. 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).
  2. The game is played with 4 players, and the size of the player's initial hand can also be customized.
  3. Every player's turn consists of attempting to play a card.
  4. If a player is unable to play a card, they must draw a card from the deck until they can play a card.
  5. The first player to have no cards in their hand wins the game.

Limitations

Since this is a simplified version of the regular Uno game, here are some things to consider:

  1. There is no stacking of draw 2 and 4 cards.
  2. Players with 1 card in their hand do not need to call "Uno".
  3. You cannot challenge draw four cards (a modern Uno game rule).
  4. The jump-in rule from the Uno Steam game is not implemented.

Future Improvements

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.

Acknowledgments

This project belongs to CS410 - Introduction to Software Engineering from the University of Massachusetts Boston.

uno's People

Contributors

wilhenalbertohm avatar

Watchers

 avatar  avatar

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.