As part of The Hebrew University of Jerusalem course "67101 - Introduction to Computer Science" we have been requested to make the known Boggle game.
Boggle is a word game invented by Allan Turoff. For more information about the game see https://en.wikipedia.org/wiki/Boggle.
For the game instructions run the game locally.
- Click and drag mechanism
- Instractions page
- Hint helper (see API Reference for more details)
- Cross platform
Boggle requires the followin to run:
- Python 3.8.2+
- Tkinter package 8.6+
Clone the project
git clone https://github.com/OrrMatzkin/IntroCS-Ex12-Boggle.git
Go to the project directory
cd IntroCS-Ex12-Boggle
Start the game, run the boggle.py file
python3 boggle.py
find_length_n_words(num, board, words)
Parameter | Type | Description |
---|---|---|
n |
int |
Required. The desired word length |
board |
List[List[str]] |
Required. The entire letters board |
words |
dict |
Required. The word bank |
The function can return 2 different sub-functions for finding a random hint word: a recursive function and a combinations based function.
The recursive function preforms better for higher n values, while the combination based function has very good performance for lower n values, and a very bad runtime.
Results of our runtime analysis:
analysis of ~300 runs of the combination based and recursive functions.
The use of 2 separate sub-functions is neccesry becuase we needed the hints words to be found in a very fast pace so the player wont feel any delay.