Giter VIP home page Giter VIP logo

scrabblewordrecommender's Introduction

Scrabble Word Recommender

Recommend a list of words in the order of maximum score based on the players' tiles with/without board constraints.

Base Engine

This module creates the data structure from the dictionary, pre-compute scores for each word, implements method to find list of possible words and handles user interactions.

Team
  1. Aravind. A. R - Create the data structure from the dictionary words and method to compare the input rack
  2. Aravind Srivatsan - Create method to calcuate scores for each of the dictionary words
  3. Asra Yousuf - Input formatting and interactions with players

Handling Blank Input Tiles

This module handles the blank input tiles and computes the score for the blank tiles to be subtracted.

Team
  1. Mohanish Golatkar - Create the bsae structure of Blank Handling class and the sortRack() funtion
  2. Neel Paratkar - Write the method which calculates the score when blank tile is present in the rack
  3. Sri Harish - Create the Blank Handling functions that checks if blanks present,get count and remove blanks

Handling Input Constraints from Board

This module handles the constraints from the board such as letter positioning and maximum length of the word.

Team
  1. Jayasruthi - Convert the constraint to a regex for letter positioning and/or word length
  2. Shravan Venkataraman - Match output with the constraint pattern
  3. Ekansh Mittal - Generate new rack for board constraints

scrabblewordrecommender's People

Contributors

aravindsrivats avatar ekanshmittal avatar asrayousuf avatar jayasruthi avatar shrvenkataraman avatar nsparatkar avatar aravindram94 avatar harr93 avatar thecuriosityenthusiast avatar

Watchers

James Cloos avatar  avatar  avatar  avatar  avatar  avatar Asokan Pichai avatar  avatar  avatar

scrabblewordrecommender's Issues

Constraint Handler Service

Creating the method for input the tiles and constraint. Fetch all words with given tiles(may include blank tile). Calling pattern matching and return all possible words

Variables names in base

Change the variables names to meaningful ones in the files - ScrabbleWordSuggestor and Word

Unit Test Cases

Write Unit Test cases for your code and test them. Reply when each of you are done creating and testing them. I'll close the issue.

Method to find the possible words

Based on Jayasruthi's method, we'll be creating a descending list of dictionary words based on its score.
With each word in the sorted list, compare it with the input and remove the characters from the word if its present in the input.
If resultant string is empty, it means the word is found.
If it not empty and if blank spaces are required, the number of remaining words can be used to compare the required blank spaces.

APIs

List out the API calls in your team's classes

Group 2 Work Allocation

Harish, Neel and Mohanish discuss and conclude to which task each of you are going to work on.

The input structure from the user

The input structure from the user is not formatted properly. The dictionary should be generated once the object is created. Then a getInput method or something should be called.

Regular Expression for * and ?

Need a regular expression match that differentiates between any number of characters and particular number of characters.

Sorting the returned list based on score

The final result of possible words is not being sorted to print in descending order. Add a sort function to convert take input as HashMap and return TreeMap.

Team 3 Integration

What all functions from pattern matching you need( there input parameters and output). Please Specify.
We have two functions now
public String appendConstraintLetters(String constraintPattern, String tiles) ;
public List String applyPatternMatching(List String possibleWords, String constraintPattern) ;

Please integrate them asap in the code. we need to do testing.

Important: Word Object not used

The Word object is no longer being used.
The structure is changed to Map<String, String>
Key = sorted word
Value = "score anagram1 anagram2 . . ."
(similar to anagram map)

Package Name

Everyone Please add Package name as ScrabbleTeam3.

WorkFlow Issue

I cannot understand the workflow at all.
Explain in simple terms what the algorithm is. And what is the role of each team in terms of Implementation.

Create anagram map from the dictionary

Creating the anagram map from the dictionary file to store all words in the format:
key = anagram string ; value = all possible strings with that anagram

Constraint handling function

Our findPossibleWords will return a HashMap<String, String>
String 1 is the Key = sorted word
String 2 is value = "score word1 word2 word3 . . ."

But you have implemented a List. How are we change that?

Variable Naming - Word

I have changed the Word class' variable names.

But, why was the WORD named as value and SCORE named as key?

Group 3 Work Allocation

Jayasruthi, Shravan and Ekansh discuss about which task each of you are gonna perform so that I can create issues for each of you.

Scoring of blank

The scoring of blank tiles becomes an issue if we aren't using a Map. Also as Aravind was saying at lunch, the top 5 words returned by the generate_words function might not be the actual top 5 words. If the blank tile is replaced with a high value tile then these words will jump to the top and other words might be lost.

Two Word Classes

Two word classes. Please remove the one in ScrabbleWordSuggester.java. Team 1

Data Structures.

What are the data structures that we are going to use?
The sowpods.txt will be stored in the following map :
map <sorted letters word , an array list of all the anagrams>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.