Skip to main content

A whot! engine

Project description

Whot

An implementation of the Whot game. The app is a web application that currently uses vanilla JS for the frontend and Python for the backend. The communication protocol used for the application is WebSocket.

Background

Whot is a popular card game first developed by William Henry Storey in the 1930s. The popularity of the game grew in Britain before finding its way to Nigeria, where it became the most popular card game in the country.

How it's played

Whot game play

The game of Whot consists of two or more players. Each player is dealt a certain number of cards at the beginning of the game. The player can only see their own card and can't see their opponents' cards.

There's a play pile where the user drops their card on, there's also a general market from which users draw new cards during game play.

The players take turns playing their card to the play pile. Any card a user drops on the play pile should be of the same suit or number as the current card on the pile. If they don't have any card of the same suit or number, the player has to go to the general market.

A winner is declared when one of the players no longer has any card at hand.

Cards

Whot cards

The Whot card consists of 5 suits that come in the form of shapes:

  • Cross
  • Square (also known as Carpet)
  • Star
  • Circle (also known as Ball)
  • Triangle (also known as Angle)

The cards of the suits are numbered, ranging from 1 to 14. There's also a special card called the Whot Card that belongs to the Whot suit, and its number is 20.

Special Cards

In the original version of Whot, there was only one special card, the Whot Card . This card could be placed on the pile at any time. When placed, the user can request a card of a particular suit of their choice.

In the Nigerian version, extra special cards were introduced. These special cards were mostly designated based on their number, not suit.

Card Effect Explanation
1 Hold on The current player can play again with a card of the same suit as the 1 card.
2 Pick two The next play is asked to pick two cards from the general market. It can be defended with another card with the number 2. The picking of two cards is then transfered to the player after them.
5 Pick three The next play is asked to pick 3 cards from the general market. It can be defended with another card with the number 5. The picking of three cards is then transfered to the player after them.
8 Suspension The next player is told to abaddon their turn and give it to the player after them.
14 Go Gen All players apart from the current player is made to draw a card from the general market.

Usage

To use this you need Python 3.11 or higher. Other lower versions of Python might work but I haven't tested them.

pip install whot

Go through the documentation to learn more.

Contributions

This code base is open to contributions. To contribute, check out the issues of the repo. Pick an issue you want to resolve and drop a comment to express your interest in resolving the issue. If there's no issue, you can create an issue that you can resolve yourself or let someone else resolve it.

If you want to make contributions, first you have to fork the repo. Make your changes to your fork, then open a PR.

Resources

Useful resources about the game of whot.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whot-0.0.5.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

whot-0.0.5-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file whot-0.0.5.tar.gz.

File metadata

  • Download URL: whot-0.0.5.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.7

File hashes

Hashes for whot-0.0.5.tar.gz
Algorithm Hash digest
SHA256 3ead114a47d1107717ddcef026af3cc00df3f922e3a689ccf1185ce7333948f8
MD5 a9d7b3dd512d1a83b87036c5ead68a98
BLAKE2b-256 9ade097a98645e4cd29f4960ec3012b2c46df0bac9544156a6485d6d23580661

See more details on using hashes here.

File details

Details for the file whot-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: whot-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.7

File hashes

Hashes for whot-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fe45ec5a17cb9c0b233c1e3d1ca2d97f13a53d6e55b8e02de3d72b79f9f24700
MD5 bcd0f645faed670b881c43f5cb18db13
BLAKE2b-256 04c2761468dbb8f46e92caa7908c59cd27b386e2562060530991c4412d7b2cd6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page