Поиграем в слова: создаём бота-игрока на языке Haskell

Сегодня мы поучимся программировать на языке Haskell простейшие интерактивные игры. Для этих целей воспользуемся одной наработкой, которая ранее была описана мною в заметке «Утилита для работы с N-граммами». Ну а разработаем мы консольную игру «в слова» — довольно простую программу, которая будет ожидать от игрока ввода слов на ту или иную тему так, чтобы первая буква введённого слова совпадала с последней буквой того слова, которое назовёт программа.

В числе самых верхнеуровневых требований выдвинем следующие:

  • Программа должна быть исполнена в виде консольного приложения с диалоговым режимом.
  • Вместе с тем она должна быть в меру дружественна к пользователю.
  • Программа должна позволять играть в слова на различные темы, а список тем формируется игроком в процессе использования.
  • Программа должна обучаться в процессе игры, подразумевая, что игрок — человек, обладающий полным знанием естественного языка (сильное предположение, но это лучше, чем ничего :).
  • Программа должна иметь несколько стратегий игры — от самой лёгкой до довольно сложной; также должна быть возможность смены стратегии в процессе игры на основании каких-либо критериев.

Вот с этим багажом и начнём. В описании, как всегда, воспоследуем принципам модульности и разработки сверху вниз.

Ознакомиться с полным описанием

© Habrahabr.ru