Skip to content

ghostwan/Virtual-Deck-Of-Cards

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

119 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Virtual Deck Of Cards

alt text

A virtual deck of cards! Play anything anywhere, with anyone!

You are a fan of cards game as :

  • Yaniv
  • Ascenseur
  • Escalier as Ascenceur but starting with two cards and no going down phase
  • Barbu
  • Ratatouille as Barbu but (no tricks (5), no heart (10), no queen (30), no man (15), general)
  • Tarot ...

Covid-19 is here, you are lockdown at home and want to play remotely with your friends ?

Fear no more, as the virtual deck of cards is here! Simply create or sign into a deck, and play any game with anyone.

Current supported Languages: English, French

What you can currently do

  • Create a room to play any cards game with your friends!
  • Share the room's url to invite people into the game!
  • See who's connected to the room
  • Room owner can expluse a player
  • Choose your name roger!
  • Configure deck, game pre config, options, with or without cavalier, trump cards...
  • Put a visible card aside for game as "oh hell"
  • Take the card put aside for game as "yaniv"
  • Distribute the whole deck or a specific number of cards among all players
  • See how many cards each player got
  • Rearrange cards in your hand, sort them by suit, by values, shuffle them! you name it!
  • Increase / decrease card size
  • See who's turn is and change it if needed (choose a specific player or random)
  • Draw a card from the deck
  • Play a card from your hand
  • Take a card from the playing / discard area (for some game as Yaniv or if you did a mistake)
  • Put a card from the deck to the discard area (for the chien in tarot)
  • Hide cards values in playing area (poker style ;) )
  • Get and shuffle the discard pile
  • Pile up / disperse card in playing area
  • See who played a card
  • Clear the playing area
  • Add the end display people hands
  • Option to claim trick and see who won tricks
  • Option for preparation phase to exchange card for example (Hide values, put all cards on the table and ask someone to pick one)
  • Option to block players actions when it's not there turn (to prevent chaos =) )
  • Option to end turn after playing a card
  • Option to block card retrieving from playing area (game with trick don't need it)
  • Option to display 4 colors for your cards
  • Option to play sound for a more realistic party
  • Option for the number of deck to play with
  • Translation (browser detection or query parameter 'lang') default is english.
  • TAROT - Option to put hidden cards aside
  • TAROT - Add card aside to the pile
  • TAROT - Give card from trick

What's new

  • Fix card hidden card value size
  • Fix issue when distributing more cards than players
  • Fix issue on clear playing area
  • Fix concurrency issue on claiming tricks
  • Add a guest mode: When someone connects it's not added automatically to the game, game owne should add him

What's next

  • TAROT - montrer les plis des gens
  • GAME PLAY - ESCALIER - Prise en compte des annonces
  • GAME PLAY - MARMOTEE - poser des cartes cacher sur la table
  • GAME PLAY - Quand quelqu'un se connecte lui permettre ou non de rejoindre la partie, sinon spectateur
  • GAME PLAY - Gestion des scores
  • GAME PLAY - Créer de nouvelles cartes entre 10 et valet quand on est plusieurs (11, 12, 13, 14, 15...)
  • UX - Chat écrit
  • UX - Chat oral / video
  • UI - Revoir l'ecran d'appel

Bugs

  • Pierre mélange carte qui desencd (??)

Game features status

Features / Games Escalier [D] Ratatouille [D] Yaniv [D] Tarot [D] Poker [W]
Distribute all the deck OK OK
Distribute a specific number of cards OK OK OK
Put a card aside OK (atout)
Claim trick OK OK OK
See How many cards each player got OK
Draw a card from the deck OK
Take a card from the playing area OK
Change turn automatically OK
Display trick won OK OK
Log actions OK
Random first player OK OK OK
Put old cards in discard pile OK
Shuffle the discard pile OK
Trump cards (atouts) OK
------------ TO DEVELOP ------------
Bidding OPTIONNAL NEED
Scores calculator OPTIONNAL OPTIONNAL OPTIONNAL OPTIONNAL
Recall the round rules OPTIONNAL

D = DONE: you can play easily to this game
N = NOT OPTIMAL: you can play but it's not optimal features are missing
W = WIP: you can't currently play important features are missing
T = TODO: Most of the minimum needed features to play are missing

Room creation Distribute amount of cards Reorder Claim trick Colors options Server


How to play locally

1) Install Node JS

Follow for your platform instruction here

2) Clone repository

in a console:

git clone https://github.com/ghostwan/Virtual-Deck-Of-Cards.git

3) Start node package

in a terminal open where you cloned the virtual deck and then

npm start

or the startup script

./start.sh

4) Open a navigator

http://localhost:3000/

Use computer private ip to connect on local network from other computers.

How to play remotely with your friends

Deploy on Heroku

Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud.
It as a free plan enough for this app needs.

Warning Heroku free plan servers can idle after sometime which will result in a game loss!

https://www.heroku.com/

1) Install CLI

Follow for your platform instruction here

2) Get Heroku logs

heroku logs -t -a project_name

3) Deploy the app

https://devcenter.heroku.com/articles/getting-started-with-nodejs#deploy-the-app

Use a tunnel to your local server

You can use tunnel as ngrok. See tunnel.sh.
After creating an account, configure you computer and putting ngrok in your path.

In a terminal start your local server:

./start.sh

And then in another terminal start the tunnel:

./tunnel.sh


Credits

You can fork this repository as long as you respect the Licence, credit me and other contributors.

Code base

This project is a fork of Jing Xuan project Virtual-Deck-Of-Cards

Cards in CSS

Fork of CSS-Playing-Cards

@author Anika Henke anika@selfthinker.org @license CC BY-SA [http://creativecommons.org/licenses/by-sa/3.0] @version 2011-06-14 @link http://selfthinker.github.com/CSS-Playing-Cards/

Game sounds

From Zapsplat.com

Menu icons

From font awesome

Translation framework

With i18next and all its contributors.

Other Server / Client librairies

Use of :

About

A virtual deck of cards! Play anything anywhere, with anyone

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 64.0%
  • CSS 29.9%
  • HTML 5.7%
  • Shell 0.4%