Skip to content

Instantly share code, notes, and snippets.

@chubas
Last active December 10, 2015 19:02
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chubas/f37b8aab0c51f97dc030 to your computer and use it in GitHub Desktop.
Save chubas/f37b8aab0c51f97dc030 to your computer and use it in GitHub Desktop.
Cards Against Slack

GDLJS Monthly Challende #2 - Cards Against Slack

CAH

The task for this month is to create a simple Hubot script to play Cards Against Humanity on Slack. Yay productivity!

Rules

The rules for the challenge will be the minimum set of rules of the game (full rules), only using the house rule of public voting (God is Dead rule)

  • There can be only one active game at a time (per channel or per slack)
  • There is a command that creates a game, the user that creates it is the Card Czar
  • Users can join the lobby, until the Czar decides to start the game
  • Hubot will deal a set of white cards to each player in the game. They will be shown only to him (probably by PM)
  • The Czar will start the round with a command. It will show the text of a Black Card, and the number of White Cards to pick
  • Each user will select 1 or more cards though a command. (An additional timer can be put so the rounds don't last indefinitely).
  • When all users have selected their cards (or passed), hubot will display all the answers in a shuffled order, and users will vote for them.
  • The answer with more votes wins the round, and adds magical awesome internet points to his score.
  • The game ends when all white cards have been used

Extras

Some extra features or rules that can be added

  • Allow for everyone to vote, no matter they are not playing
  • Keep a global score per user
  • Implement any of the house rules proposed by the official instructions

Hints and resources

NOTE: The original idea was to make a script for the community hubot on Slack. If you don't feel like doing a card game, there are a million other things you can do a hubot script for.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment