В современном мире, красивая и насыщенная речь говорит о культуре и хорошем образовании. Богатый словарный запас языка свидетельствует об уровне интеллектуального развития человека. Общество воспринимает человека с богатым словарным запасом как умную и творческую личность. Люди с богатым словарным запасом быстрее получают работу, успешнее продвигаются вверх по служебной лестнице, к ним вообще чаще и внимательнее прислушиваются. Чем больше словарный запас человека, тем выше вероятность того, что он преуспеет в жизни.
Обширный словарный запас является показателем образованности и способствует поднятию самооценки, а для журналистов, копирайтеров и переводчиков это еще и инструмент заработка. В стратегическом плане виртуозное владение словом помогает нам как можно точнее выражать наши мысли, эмоции и отношения к жизненным ситуациям и выстраивать эффективную коммуникацию.
Пополнить свой словарный запас возможно чтением книг, заучиванием стихов, общением с грамотными людьми. Но любые знания и навыки требуют практического применения.
Для применения, закрепления и одновременного обучения, и пополнения словарного запаса можно использовать словарную игру «Балда».
В данной игре игрокам требуется составлять слова, по очереди подставляя буквы в предложенный набор.
В ходе выполнения данной работы требуется реализовать компьютерную версию данной игры, с автоматическим подсчетом очков каждого игрока. Программа будет разрабатываться как Windows приложение.
Балда — довольно простая и распространённая настольная игра, в которой необходимо составлять слова с помощью букв, расположенных на игровом поле. Играть могут два и более человек.
Как правило, игровое поле представляет из себя таблицу из 25 клеток (5х5), в центральный горизонтальный ряд которого ставится произвольное слово из пяти букв, каждая буква которого находится в отдельной ячейке. Размеры поля, расположение слова, длину слова можно варьировать, однако необходимо, чтобы количество пустых клеток в начале игры было чётным, чтобы у обоих игроков получилось одинаковое количество слов. Для игры на бумаге необходимо начертить на листке в клеточку квадрат (обычно 5х5, но возможно 7х7 и т. д.). Далее один из игроков придумывает слово с количеством букв равным стороне квадрата и вписывает его в середину квадрата.
Во время своего хода игрок должен подставить на игровое поле букву так, чтобы она располагалась в клетке, смежной уже заполненным клеткам по горизонтали или по вертикали. Иными словами, слева, справа, сверху или снизу относительно уже заполненных клеток. (Существует также «королевский» вариант, который предусматривает установку букв по диагонали). После этого необходимо составить слово с использованием установленной буквы. При этом действуют следующие правила:
Слово должно составляться переходом по смежным клеткам, расположенным под прямыми углами относительно друг друга (в «королевском» варианте — в любых смежных направлениях).
Слово должно существовать в словарях.
Перед началом работы приложение должно будет прочитать из файла и проинициализировать словарь словесного множества, для проверки введенных слов. В случае ошибки или отсутствия словаря – выдать соответствующее сообщение и завершить работу.
Для хранения слов будет применен абстрактный класс C++ list<>. Данный класс позволяет хранить динамический список различных данных, содержит способы доступа к ним, поиска, сортировки.
В программе используем три подобных списка:
- для хранения основного словаря;
- для словаря 5-и буквенных слов;
- для хранения использованных слов в ходе игры для проверки повторов.
Основной и пятибуквенный словари будут инициализироваться в момент чтения списка слов из файла данных приложения.
Словарь использованных слов будет очищаться перед каждым новым сеансом игры и заполняться в ходе партии.
Алгоритм чтения словаря и инициализации приложения приведен ниже (Рисунок 2.1).
После инициализации программа перейдет в режим ожидания, в котором будет находиться до тех пор, пока игроки не начнут новую партию игры.
Перед началом новой партии игры приложение должно очистить игровое поле, подготовив его к новой партии, обнулить информацию о достижениях игроков (если до этого проводились партии).
Среди всех видов функциональное тестирование по праву занимает ведущее положение, так как программа должна работать в первую очередь корректно, иначе от удобства использования, защищенности и достаточной скорости не будет абсолютно никакого толка. Кроме владения различными техниками тестирования, каждый специалист должен понимать, как правильно провести проверку, чтобы получить наиболее эффективный результат.
Проверка программного обеспечения осуществляется различными способами, одним из которых является тестирование по принципу «черного ящика» или с управлением по данным. Программа в данном случае представляется с точки зрения «черного ящика», а проверка проводится для выяснения обстоятельств, в которых поведение программы не будет соответствовать спецификации. Все ошибки определяются посредством управления по данным, что осуществляется при помощи исчерпывающего тестирования, то есть с использованием всех возможных типов данных.
Если для программы исполнение команды зависит от событий, предшествующих ей, то тут потребуется проверка всех возможных последовательностей. Вполне очевидно, что для большинства случаев просто невозможно произвести исчерпывающее тестирование, поэтому чаще выбирают приемлемый или разумный вариант, ограничивающийся прогоном программы на малом подмножестве всех входных данных. Данный вариант полностью гарантирует отсутствие отклонений от спецификаций. Функциональное тестирование предполагает правильный выбор теста. При этом принято различать такие методы формирования наборов для них: - анализ граничных значений; - эквивалентное разбиение; - предположение об ошибках; - анализ связей между причинами и следствием.
Balda – это реализация игры Балда для двух игроков, в которую раньше играли на бумаге. Ее можно назвать детской игрой для взрослых.
Данная игра поможет пополнить свой словарный запас, увлекательно и с пользой провести свое свободное время.
Для игры нужно как минимум два игрока, хорошее настроение и большой словарный запас. При этом к употребляемым в игре словам применяются ограничения.
Слово, подходящее под правила игры должно являться нарицательным именем существительным в начальной форме (единственном числе и именительном падеже или множественном числе и именительном падеже в случае слова, не употребляющегося в единственном числе).
Требования к оборудованию и программному обеспечению:
Windows 7 или выше;
ОЗУ от 2 Гб;
Требуемый объем HDD – 50Мб.
СКРИНШОТЫ РАБОТЫ ПРОГРАММЫ



В ходе выполнения данной работы была создана интеллектуальная игра «Балда», предназначенная для двух игроков. Игра не имеет прямых возрастных ограничений, играть в нее можно начиная с младшего школьного возраста. Обязательным условием является умение читать и писать, большой словарный запас игроков обеспечит высокое качество игры и хорошо проведенное время.
Для реализации проекта использовался язык C++/CLI ситемы Visual Studio от компании Microsoft.
Перед началом реализации проекта были проведены исследования по построению поведенческого алгоритма ситемы и игроков, подобран и сформирован начальный словарь для ведения игры.
Результатом выполнения данной работы слало работающее приложение, позволяющее двум игрокам проводить партии игры «Балда».