Crazy Eights Card Game

by Cecil King

This card game app was built as part of the Mintbean 'Hiring Hackathon for Jr Web Devs' (Jul 27, 2021 to Aug 3, 2021). The front-end react/redux app implements a two-player version of the Crazy Eights card game.

GAME RULES

The goal of the game is to get rid of all your cards.

For each card played, the other player must match either the rank or suit of the card. On your turn, you can either draw a card from the deck or play a card.

You can play an '8' card on top of any card. The person who plays the '8' can then select the next suit that needs to be played.

Playing a '2' forces the other player to draw two cards. Alternatively, the other player can counter with another '2' increasing the draw penalty to 4 cards. Players can continue to play '2's, increasing the draw penalty by 2 each time, until one player is out of '2's and forced to draw.

If you play the queen card, you get to play again, forcing the opposing player to skip a turn.

HOW TO PLAY

screenshot of game

Click on the 'New Game' button to start a new game.

To play, click on the card icons in the 'Player Cards' section or click on the draw button to draw a card.

draw button

If you play an eight, you'll be presented with a group of buttons to select the next suit.

suit selection buttons

Each card played will be displayed on top of the 'Pile'. After you draw or play a card, all your cards will be grayed-out for about 2-3 seconds until the Computer has finished playing. After the computer plays, the 'Guide' section will be updated to indicate what the Computer played, as well as instructions on what you can play next.

The Computer's card count is indicated under the Computer's deck.

When either player gets to 0 cards the game ends. The winner will be indicated in the 'Guide' section.

TRY IT

Click on the 'Game' tab to try the game. Enjoy!

ABOUT ME

Hi. I'm Cecil King. I’m a full stack web developer with a background in ASIC verification. In Dec 2020, I obtained a certificate in web development from the UofT SCS Coding bootcamp. I'm transitioning into web development because I'm energized by the creative aspect of crafting and building applications.

Here are the technologies I currently know (but I'm a quick learner so there's no limit to what I can potentially achieve).

Here are some of my links: