Skip to content
A Python/Flask application game based on the Countdown TV game show.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
screenshots
static
templates
Procfile
Procfile.dev
README.md
app.py
config.py
requirements.txt
user_manager.py
user_manager.test.py
users_dictionary.json
word_resolver.py
word_resolver.test.py
words_alpha.txt

README.md

Draft README, unfinished.

Practical Python - Project 3:

Idea:

To develop an app similar to the Countdown tv show. In particular, the "word-game" aspect of the show. The app will have the following overall functionality:

  • Players can choose up to nine random letters from which to play;
  • or they may have nine randomly generated letters chosen by the app.
  • If player wishes to choose letters, they will choose a vowel or consonant for each of the nine letters.
  • Players enter the largest word (using most amount of nine letters) which they can arrange from the nine letters.
  • The app then displays the largest word it can find from the nine letters to user.

Extra functionality to be considered:

  • App will give a score to the user based on letters used e.g:
    • Each vowel would be worth 20 points and,
    • Each consonant would be worth 10 points.
    • For example, the user has a word with 3 vowels and 4 consonants:
      • Their score would be calculated as follows:
      • (3 x 20) + (4 x 10) = 60 + 40 = 100 points
  • The users name would be taken and their total score would be kept on a scoreboard for other users to see.
  • App should check that username does not already exist and warn user if so.
  • The users generated letters and the word they came up with would be displayed along side their score.

Notes:

The app will:

  • Use the Flask Python framework.
  • Single page app, must use Flask for routing.
  • Use Bootstrap CSS.
  • Implement basic unit-tests for each piece of functionality.
  • App must use dictionary file to find and compare words.

User stories:

  • As a new user I'd like to see a button/link that would envoke a display modal with the game instructions
  • As a new user when I go to the app I will see a layout allowing me to use the app and its functionality:
  • As a user I'd like to see an area for Generated/inputed letters,
  • As a user I'd like to see an area for Buttons to select: - Vowel or consonant, - Random letters, - Find words/answers, - Clear
  • As a user I'd like to see an area for Visual representation of a keyboard
  • As a user I'd like to see an area for Returned "best word" which has been found
  • As a user I'd like to see an area for List of all words which could be used from Generated/inputed letters.
  • As a new user I'd like to see the Generated word be compared against the words contained in the dictionary file.
  • As a new user I'd like to see the word that uses most of the letters, and is contained in the dictionary file - displayed to me on screen.
  • As a new user I'd like to see all the words which could have been used with the given letters.

Further features:

  • As a new user I'd like to see my username recorded for my game.
  • As a new user I'd like to see my score calculated based on use of vowels and consonants in my play.
  • As a new user I'd like to see my score recorded.
  • As a new user I'd like to see my word and the generated word displayed alongside my game score and username.

Install local:

  1. Goto the directory
$ cd WordResolver
  1. Initialize and activate a virtualenv:
$ virtualenv --no-site-packages env
$ source env/bin/activate
  1. Install the dependencies:
$ pip install -r requirements.txt
  1. Run the development server:
$ python app.py
  1. Navigate to http://localhost:5000

  2. Run the Test cases:

$ python word_resolver.test.py
  $ python user_manager.test.py
You can’t perform that action at this time.