C++ Go-fish

Small school project

Good old go-fish. This is a game for 2-4 players in which they play with all the real rules.

Want to build something similar?

Let's get to it!


This project simulates the famous card game "Go-fish" with all the real rules, in which players can choose to take cards from the deck or the pool, then the program detects if they have a valid play (royal flush, full house, three of a kind, etc.) and finally then they choose which card to get rid of. Then it's the next player's turn. This is not the biggest of my projects, but I decided to included since I developed it with around 3 months of experience programming. It was a big challange for me at the time, however, I made a great effort to deliver the assignment on time, and made it with (kind of) a visual interface.

Development process

Tools used


Team behind the project



This project was completely developed using C++ programming language, which was the first language I learned to use. This is the only project in this portfolio made with C++, since other languages aligned better with my goals (like JavaScript).

Do you have a suggestion to improve this project?

Let me know it!

Principal features

Choose the ammout of players

The game can be played by 2-4 players. They will play turns to play as if it was the real game, and the program will hide the cards of the players not in turn.

Choose where to draw your card from

The players have the option to take cards from the deck or the pool, in which the deck is filled with 4 cards of each number and suffled as if it was a real one, and the pool has the card that the last player dropped. The pool is empty at the start of the game.

Choose to use a play

Once you take a card from the pool or deck, the program will detect if you have a valid play (royal flush, full house, three of a kind, etc). If you do, it will ask you if you want to play with it, if not, then you will keep playing as normal.

Remove a card from your hand

Once you choose your play (or not), you have to choose which card to remove from your hand. If you have a valid play and you choose to use it, the program will not let you remove a card that is part of that play.

Watch the result!

Once a player chooses to use a play, it will be the last chance of the rest of the players to come out with something better. Once the last round is over, the program will print the winner.


If you made it this far, I assume you are probably interested in this project. I hoped you liked it! If you did, don't doubt in contacting me to build something similar, I would be happy to hear your idea and develop it!

Let's do it!