Skip to main content

A cli-based word game

Project description

Introduction

Subset is an in-CLI word guessing game about finding pangrams. A pangram is a word or phrase that uses every letter from a given (and in this case limited) alphabet (as in a set of letters, not as in A-Z).

Installation

Subset requires Python 3.5 onwards and uses the colorama package.

Platform Compatability
Linux Yes, confirmed
Termux (Android) Yes, confirmed
macOS Likely, unconfirmed
Windows Possibly, unconfirmed

If anyone does run this through macOS or Windows, open an issue if anything is broken.

Through Pip

Just run sudo pip install subset. Then run subset in a terminal.

From Source

  1. Clone this repository
  2. cd subset-game
  3. pip install .
  4. subset

Sans-Installation

  1. Clone this repository
  2. cd subset-game/subset/
  3. python app.py

The Rules

Each game, the player is given seven letters. One letter is highlighted. The player must find as many words as they can that use some or all of the letters. The restrictions are:

  • The word must be four or more letters long
  • The highlighted letter must be used in every word
  • The words are never proper nouns

Not all the letters need to be used per word, and letters can be reused within a word. If the player inputs a word that uses every letter, it is called a 'pangram' and is worth extra points.

Do not expect to get a perfect score without cheating! The puzzles are randomly generated and I've seen some pangrams with over a thousand related words.

Features & Roadmap

So far I have implemented:

  • The basic game as described above
  • A savefile stored in ~/.subset
  • Dynamic terminal sizing (experimental)

Features I may add:

  • Multiple savefiles at once
  • Difficulty selection (this is tricky because its very difficult to qualitatively analyze the difficulty of a puzzle. Puzzles with fewer words are harder to score on, but easier to get a higher fraction of the total score, and so on)
  • Dictionary selection (right now, if you find the dictionary file in your Python modules folder, or if you are running straight from the cloned folder, you can replace dictionary.txt with your own file and the game will run just fine, but be aware that it throws out capitalized words and words containing anything other than letters)
  • Colourschemes

The Dictionary

The game uses the SCOWL English words dictionary sections 10 though 70. Licenses for the wordlists can be found in DICTIONARY_LICENSE.

License

This software is licensed under the MIT license, the text of which can be found in the LICENCE file.

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

subset-0.1.2.tar.gz (411.7 kB view details)

Uploaded Source

Built Distribution

subset-0.1.2-py3-none-any.whl (410.6 kB view details)

Uploaded Python 3

File details

Details for the file subset-0.1.2.tar.gz.

File metadata

  • Download URL: subset-0.1.2.tar.gz
  • Upload date:
  • Size: 411.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for subset-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fbbcd2e8faaedf4b6fa6541dab7137eebd611124fd3033a0834b2e5f03b33f21
MD5 7ec9b88236ca34ec3d1dd7a4aeacf415
BLAKE2b-256 1642fbaf2a3af016a1209cb71eec8d7f1b23944e633496b97d0fca4ccbef120f

See more details on using hashes here.

File details

Details for the file subset-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: subset-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 410.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for subset-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 26c72ddb3b69f4985c35279cb8f8c1cbf8f290d31dee65d844a5821ecfeccaf3
MD5 4351fd42ffa9d01e70ca32d4144b30fa
BLAKE2b-256 29de2a9fbeaa41865d0072b90d216e5cb1001e86c860a1cbdb485d12d19d7036

See more details on using hashes here.

Supported by

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