This project is a C++ implementation of the classic UNO card game, developed as part of my Computer Engineering and Programming coursework at UNC Charlotte. The program simulates a full game of UNO in the terminal.
Demo

Project Overview
The implementation includes all standard UNO cards (numbered cards, Skip, Reverse, Draw Two, Wild, and Wild Draw Four) and follows the official gameplay rules. The game supports multiple players and provides an interactive console experience with visual card representations.
The program demonstrates core C++ programming concepts including:
- Object-oriented design with classes for Cards, Deck, Players, and Game logic
- Dynamic memory management
- Game state management
- User input handling and validation
- Console-based UI rendering
Technologies Used: C++, Object-Oriented Programming, Terminal I/O, Makefile
How to Run the Project
Prerequisites
To run this project, ensure you have the following installed on your machine:
- A C++ compiler (GCC/G++ recommended), you can install it via MinGW on Windows or it's pre-installed on most Linux distributions
- Git, you can download it from here
Installation/Execution Steps
- Clone the repository:
bash git clone https://github.com/jcmecham/ECGR_UNO.git - Navigate to the project directory:
bash cd ECGR_UNO/Completed_UNO - Compile the program using Make:
bash make uno - Run the game:
bash ./uno