Word Game Helper - Code.org

return results;

function matchesPattern(word, pattern) if (word.length !== pattern.length) return false; for (var i = 0; i < pattern.length; i++) if (pattern[i] !== '?' && pattern[i] !== word[i]) return false;

function isValidWord(word) return wordList.includes(word.toLowerCase()); word game helper code.org

setText("resultsArea", output); ); User enters "tar" → finds "art" , "rat" , "tar" → shows scores.

// Sort by score descending possibleWords.sort(function(a, b) return calculateScore(b) - calculateScore(a); ); for (var i = 0

return true;

function canMakeWord(word, availableLetters) { var letterCount = {}; for (var i = 0; i < availableLetters.length; i++) for (var i = 0; i < word.length; i++) var ch = word[i]; if (!letterCount[ch]) return false; letterCount[ch]--; return true; } Step 6 – Scrabble Score Calculator var letterScores = a:1, e:1, i:1, o:1, u:1, l:1, n:1, s:1, t:1, r:1, d:2, g:2, b:3, c:3, m:3, p:3, f:4, h:4, v:4, w:4, y:4, k:5, j:8, x:8, q:10, z:10 ; function calculateScore(word) var score = 0; for (var i = 0; i < word.length; i++) score += letterScores[word[i]] return score; User enters "tar" → finds "art"

var wordList = ["cat", "act", "bat", "tab", "rat", "art", "tar"]; function sortLetters(word) return word.split('').sort().join('');

// Display var output = ""; for (var i = 0; i < possibleWords.length; i++) output += possibleWords[i] + " (" + calculateScore(possibleWords[i]) + " pts)\n";

function findAnagrams(letters) var sortedInput = sortLetters(letters); var results = []; for (var i = 0; i < wordList.length; i++) if (sortLetters(wordList[i]) === sortedInput) results.push(wordList[i]);

function findWildcardMatches(pattern, lettersAvailable) // pattern = "c?t", lettersAvailable unused here but could restrict var matches = []; for (var i = 0; i < wordList.length; i++) if (matchesPattern(wordList[i], pattern)) matches.push(wordList[i]); return matches;