Skip to content
/ Declare Public

A multiplayer card game created using SocketIO, ReactJS, NodeJS and express.

Notifications You must be signed in to change notification settings

llyram/Declare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues LinkedIn


Logo

Declare

A realtime multiplayer card game
View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Rules
  4. Contributing
  5. Contact

About The Project

Product Name Screen Shot

This is a realtime multiplayer card game. Players can create or join rooms to play with other players. see the rules section to see the rules

(back to top)

Built With

Socket.io React NodeJS Express.js

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Installation

  1. Clone the repository:
    git clone https://github.com/llyram/Declare.git
  2. Install npm packages:
    npm install
  3. Start the backend Node server:
    node index.js
  4. Move to the frontend directory, install npm packages and start the React frontend:
    cd frontend
    npm install
    npm start

(back to top)

Rules

  1. Each player gets dealt 5 cards.
  2. There is one open card placed face up on the board, along with the deck.
  3. The immediate objective of the player is to reduce the total value of your hand.
  4. One after the other, players play their turn, in which they can throw any single card or pair of cards with the same value.
  5. After throwing a card, or a pair of cards, the player has to either pick up a card from the deck OR pick up the open card, if and only if they have at least one card to pair up the open card with.
  6. If the player picks up the open card on their turn, then they must throw the pair at their next turn. They cannot declare on their next turn.
  7. The round ends when one of the player declares their hand and two outcomes can occur:
    1. If the total value of the hand of the player who declared is less than any of the other players, then the player wins the round and every other player gets the value of their hand added to their total points.
    2. If any of the other players have a total value lower than that of the player who has declared, then the declarer is caught and they get a penalty of 50 added to their total points.
  8. The goal of each round is to reduce the total value of your hand and declare if you think your hand is lower than everyone else's. Or wait for someone else to declare and see if your hand is lower than theirs.
  9. If after any turn a player has only one card left in their hand, and the card is the Ace of any suit, then the player must declare on their next turn.
  10. After the desired number of rounds, the rankings of the players are decided, based on their points on the table. The lower the points the player has, the higher their rank. The player with the lowest total points on the table wins.
  11. Value of each card: Every number card has the value of the number shown. Ace is 1. Every face card, i.e., King, Queen, and Jack, has a value of 10.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repository and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Contact

Maryll Castelino - @maryllcastelino - maryllcastelino@gmail.com

Project Link: https://github.com/llyram/Declare

(back to top)