Think you can type faster than your peers? Start a Speed tournament and you'll know! The rules are simple. Type the words you see as they move across the screen. Press enter to clear the buffer at any time. Type a word correctly and your score goes up.
Make sure you have Python 3.8.0 or newer and asciimatics 1.12.0 or new installed and running on your machine. You can install Asciimatics by opening a terminal and running the following command.
python3 -m pip install asciimatics
After you've installed the required libraries, open a terminal and browse to the project's root folder. Start the program by running the following command.
python3 speed
You can also run the program from an IDE like Visual Studio Code. Start your IDE and open the project folder. Select the main module inside the hunter folder and click the "run" icon.
The project files and folders are organized as follows:
root (project root folder)
+-- speed (source code for game)
+-- game (specific game classes)
+-- __init__.py (python package file)
+-- __main__.py (entry point for program)
+-- README.md (general info)
Class | Description | Stereotypes | Public Methods | Dependencies |
---|---|---|---|---|
Director | Controls play sequences. | Controller | start_game | All Local Classes |
Point | Holds information for the position of the word. | Information Holder | x (property) y (property) add_point equals x_velocity (property) y_velocity (property) |
|
Word | Holds information for a given word on screen. | Information Holder | (All Point Methods) compare_word length |
Point (Inherited) |
CurWords | Contains information for all words on screen. | Information Holder | check_word_match add_word remove_word |
WordListService (Inherited?) Word |
InputService | Detects player input and translates keypresses. | Service Provider | get_letter get_key |
|
OutputService | Sends outputs to the console. | Service Provider | clear_screen place_word del_word flush_buffer |
|
FileService | Handles file inputs and outputs. | Service Provider | read_line read_file write_file content (property) |
|
WordListService | Fetches words from given wordlists to put on the screen. | Service Provider | new_word (property) | FileService (Inherited) |
SettingsService (For Stretch Requirements) |
Gets persistent user data and settings. | Service Provider | get_hi_score get_game_mode |
FileService (Inherited) |
- Python 3.8.0
- Asciimatics 1.12.0
- Carson Bush - hyperdriveguy@byui.edu
- Bryndi Hellewell - brynlol12@gmail.com