I took this Coin Flip Independent Project and added some extra features and polish to it.
In the original one, users can make guesses, the program generates a value, users can see if they guessed correctly, 2 game modes are suggested: coin flip with 2 values and dice roll with 6 values.
In my take, there’s a main menu where users can choose between coin flip and dice roll, view game stats or quit the game in one place. In both game modes, if the user makes a correct guess, their score is increased by 20, otherwise it’s decreased by 10. After reached certain score, user gets achievements (every 100 score in coin flip, and every 60 score in dice roll). If chosen the view game stats option in main menu, user can see correct guess ratio, score and unlocked achievements in both game modes. The quit option warns the user, that their stats will be lost.
As for implementation, I used text colors to make the game visually appealing, added “error messages” if user provides invalid answer, and some delay before displaying main menu. For the game modes, I used 3 classes (1 for the game in general, and 2 subclasses for coin flip and dice roll) to make code more readable and modular.