Разработать удобный пользовательский интерфейс. Пользователь игровой программы должен иметь возможность пользоваться как клавиатурой, так и мышью. Разработать структуры данных для оперирования такими понятиями как состояние игры, дерево игры, ход игрока и т.д. Разработать оценочную функцию хода игрока. Разработать алгоритм поиска лучшего хода для игрока (компьютера). Разработать и добавить в алгоритм генерации хода алгоритм быстрого нахождения ситуаций, которые уже были рассмотрены (если требуется).