General: positions: (x,y) - (1,1) is top left of board. This lets us use (0,0) etc. as sentinels letters: represented as integers // 'a' -> 1, 'z' -> 27 // BLANK as 'a' -> 32 + 1 // BLANK as 'z' -> 32 + 27 # General Utilities Assert.java Assert.assert() # Generate and load the dictionary CompDict.java Compress dictionary -> trie Dawg.java the dictionary, as a dawg DawgConst.java constants to help interpret the dawg WordList.java List all the words in a trie dictionary # Generate, score, record moves Board.java Maintain board, generate moves Row.java Generate a move, given a rack and a row Mask.java (score,mask,column) tuple Move.java a move # Tiles and collections of tiles Letters.java Representation of a collection of letters. Rack.java 'rack' of letters player can choose from Sock.java The scrabble 'sock' of spare letters Tile.java draggable scrabble piece # GUI TestFrame.java Test harness for components DragArea.java GUI for a board