Skip to content

OrrMatzkin/IntroCS-Ex12-Boggle

Repository files navigation

IntroCS-Ex12-Boggle

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.

build

platform

Features

  • Click and drag mechanism
  • Instractions page
  • Hint helper (see API Reference for more details)
  • Cross platform

Requirements

Boggle requires the followin to run:

  • Python 3.8.2+
  • Tkinter package 8.6+

Run Locally

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

Screenshots

main Screenshot game Screenshot

API Reference

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:

2 functions 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.

Demo

App gif

About

A Python based Boggle game.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages