One limitation of codeless versions of Scramble and other games is the lack of facility for preventing illegal moves. A move constraint is a piece of code that determines whether or not the corresponding game rule is broken. Move constraints often work in conjunction with the game-state object, which encapsulates the current game-state.
Move constraints which are limited to preventing the dragging of Card or Card-stack objects from one container object to another can be accomplished without coding. This is due to the fact that every grid and Card-stack object has a property called drop-list, which is a list of objects that may accept drag-and-drop operations originating with the property owner.
Scramble
· Next Button
o Word is connected
o Word is contiguous
o Word is in dictionary
o Interchanged blank is used on same turn
· Double-Click on Board
o Interchange blank if valid
· Drag from Board
o Prevent dragging letters not in current turn
· Drop on Bag
o If 3 of a kind, then accept
o Else if user is scrambling, then accept