/hacktoberfest-Declare

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

Primary LanguageJavaScript

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 repo
    git clone https://github.com/Maryll-castelino/.git
  2. Install NPM packages
    npm install
  3. Start the backend Node server
    node index.js
  4. move to the frontend directory and start the React frontend
    cd frontend
    npm start

(back to top)

Rules

  1. Each player gets dealt 5 cards
  2. There is on open card 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 in their turn then they must throw the pair at their next turn. They cannot declare at 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 get the value of their hand added to the 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 he gets a penalty of 50 added to their total points.
  8. The goal of each round is to reduce the total value of you hand and declaring 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 their's.
  9. If after any turn a player has only one card left with them and the card is the Ace of any suit then the player must declare cumpulsorily declare on their next turn.
  10. After the desired number of rounds the rankings of the players are decided based on their points in the table. The lower the points of the player 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 their number. Ace is 1. Every face card, i.e., King, Queen, and Jack, have the value 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 repo 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/Maryll-castelino/Declare

(back to top)