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