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