## ScrabbleAI

An application for Linux that lets you play the popular word game against a computer opponent at varying difficulties.

### Usage

On Debian/Ubuntu/Linux Mint, first install the dependencies:

    $ sudo apt-get install libgtk2-perl libgnome2-canvas-perl

Alternatively, on Fedora:

    $ sudo yum install perl-Gtk2 perl-Gnome2-Canvas

Once you have installed the dependencies, run:

    $ perl scrabbleai.pl

Note that the first time you start a new game, it will take longer than usual to launch as the dictionary is cached for future use. Subsequent games (even after relaunching the program) will be able to skip this step and start up faster.

### Screenshots

* The [intro screen](http://apikler.github.io/ScrabbleAI/intro_screen.png), where you can choose the difficulty
* The main [game screen](http://apikler.github.io/ScrabbleAI/game_screen.png)
* A [completed game](http://apikler.github.io/ScrabbleAI/finished_game.png)
* The [help dialog](http://apikler.github.io/ScrabbleAI/help_dialog.png)

### Videos

* The AI [makes a move](http://apikler.github.io/ScrabbleAI/ai_move.html)
* [Resizing the window](http://apikler.github.io/ScrabbleAI/resize.html)

### The AI

The AI is based on an algorithm from a paper written by Andrew W. Appel and Guy J. Jacobson, which you can find [here](http://www.cs.cmu.edu/afs/cs/academic/class/15451-s06/www/lectures/scrabble.pdf).

<br /><br />
<b>Disclaimer</b><br />
<sub>
This program is free, not for profit, and for educational purposes only. Any usage of elements from the Scrabble board game is provided only to illustrate the functioning of the AI. Scrabble is a registered trademark belonging to Hasbro Inc in the US, and to J.W. Spear & Sons Ltd., a subsidiary of Mattel Inc., throughout the rest of the world. Neither the author nor this program are affiliated with the Scrabble Crossword Game, Hasbro, Spear & Sons, or Mattel in any fashion.
</sub>
