Skip to content

Joonpark13/rummy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rummy 500

Stack

Built with Firebase (Auth + Firestore), React (Create React App), and TypeScript. Uses react-beautiful-dnd for drag and drop, styled-components for CSS in JS, and Material-UI for the component library.

Rules Logic

Each game is played by 2 opposing players. Each game consists of rounds, and are played until one player reaches 500 or more points. Points are tallyed at the end of each round. Rounds are played with alternating turns. Each turn consists of two phases: the start phase and the play phase.

During their start phase, a player may draw a card from the top of the deck, or pick up cards from the discard pile. If a player chooses to pick up any given card from the discard pile, they must also pick up all of the subsequent cards in the pile. If the player chooses to pick up more than one card from the discard pile, they must lay down the deepest card from the selection of cards they just picked up, before the end of their turn.

During the start phase, the player may also choose to lay down any valid set of cards.

After the player either draws a card from the deck or picks up cards from the discard pile, the play phase begins. During this phase, the player may lay down any valid set of cards any number of times. During this phase the player may also choose to discard a card, which ends their turn.

The round ends when one of the players end the turn with 0 cards in their hand.