Project Description for Scrabble

Get a brief introduction to "Scrabble" and learn which features we'll be building in this project.

We'll cover the following

Introduction

There’s no denying the fact that we live in a digital age. Everything seems to have a digital version. A gaming company has decided to transform the traditional Scrabble game. This game will only be available through a digital medium like computers, mobile, etc. The game can either be played between two human players or a human and a computer player. The game will also provide the user an option to ask the system for help if they get stuck at any point in the game.

Statement

Evolved Scrabble has the following rules:

  • To set the game up, create different groups of words of the same size.

  • To start their turn, each player will select a word group.

  • They will choose an initial word and a final word from that same selected word group.

  • Then, the player on the other side has to convert the initial word into the final word.

    • In one move, only one letter of the word can be converted.

    • The resulting new word should also be part of the same word group.

  • The player gets full points if they figure out the minimum number of character conversions to reach the final word.

  • In the end, when all the lists are exhausted by each player, the player who has converted all the words in the least time will win the game.

Imagine you are a developer on this game team. Your task is to build the computer player against which humans can play. The solution for this will also be applicable if a player needs help from the system. To do this, we have to traverse over the word group that gets chosen.

Features

We will need to introduce the following features in order to implement the above-mentioned functionality:

  • Feature #1: Find the minimum number of conversions to reach the final word from the initial word.

  • Feature #2: For the minimum number of conversions from Feature #1, show all possible end results for users to choose from

In the coming lessons, we will discuss how to implement these features. Again, we’ll be able to apply these solutions to other common interview problems.

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.