With this project I wanted to accomplish two things.
First I wanted to learn how to code in Java. I had never coded in Java prior to this project, but I have learned a lot throughout it. Something that Was an absolute lifesaver for this entire project was a Tutorial on youtube. Without this tutorial made be 'Code Clique' I would not have been able to complete this project. this is not to say that I followed his example one to one. At this point almost half of the code is my own work, but the foundation of it was originally by him. (side note: While his tutorial was overall pretty good, it was not even functional at the end of the project. There were a lot of things that I had to change because it simply didn't work.)
Second I also wanted to make this almost as a prototype for another card game, named Munchkin, that I want to make. Munchkin is not a very complicated game in practice, but it has an absolute ton of edge cases that have to be accounted for. What this means is that while it may be easy to play, it will be insanely difficult to program. I figured that with UNO having some interesting edge cases while maintaning the easier game loop to code, it would be a good game to start off with for preparing to make Munchkin.
It is just basic UNO. I did alter the deck composition to more closely resemble that of UNO Attack.
I programmed it in a mixture of Visual Studio Code and Apache NetBeans. As stated above it is all in the Java language
If I am ever to come back to this project, which I likely will not do, here are some things I would want to improve/fix:
[ ] I will learn how to make images show for the cards (the method used in the tutorial does not work for what I need).
[ ] The plus 2 and plus 4 wilds don't actually add cards to the other players hands.
[ ] It would be fun to make animations for cards being played.