Skip to content

Глава 1. Исследование существующих программных решений

coder-chekunkov edited this page Sep 16, 2021 · 6 revisions

В данной главе будет рассказано о том, что уже было сделано в «мире Судоку»: аналогичные проекты, их сравнительный анализ, методы создания сеток судоку и т.д.

1.1. Аналогичные проекты и их сравнительный анализ

В сети «Интернет» находиться огромное количество приложений «Судоку» для разных устройств и операционных систем, которые могут скачать и установить любой желающий. Необходимо изучить и проанализировать их. Как уже было сказано, в таких сервисах, как PlayMarket от Google, AppStore от Apple и т.д., огромное количество проектов. Функционал всех проектов похож, а результат один – появляется игровое поле, которое представляет собой квадрат с размером девять на девять клеток, который в свою очередь разделенный на квадраты три на три клетки. В «большом» квадрате присутствуют пустые клетки, которые пользователь должен заполнить так, чтобы в строку, столбец и «маленький» квадрат были все цифры от одного до девяти. Игрок нажимает на клетку, которую хочет заполнить и выбирает одну цифру от одного до девяти. Так как в открытом доступе находится очень много подобных проектов, для сравнительного анализа следует выбрать наиболее популярные у пользователей среди приложений для операционной системы Android, iOS и веб-ресурсов. Ключевым критерием выбора приложений для сравнения является оценка пользователей в открытых источниках.

1.1.1. Судоку: игра-пазл. iOS.

Данное приложение можно скачать, в магазине AppStore от Apple для операционной системы iOS. Данный проект имеет очень хорошие оценки пользователей: 4.8 из 5, и занимает десятое место в рейтинге «Настольные игры»[1]. В приложении присутствует проработанные статистические данные, которые помогают пользователю отслеживать свой прогресс. Наличие функции, которая выделяет строку, столбец и «маленький квадрат», положительно сказывается на процессе решения головоломки. Так же в проекте хорошо проработаны вопросы usability: интерфейс понятливый и легко изучаемый. Помимо этого в приложении есть таймер отсчета времени от начала игры и выбор уровня сложности. В проекте огромное количество рекламы, которая отрицательно сказывается на игре.

1.1.2. Киллер-судоку. iOS.

Данный проект так же можно установить в магазине приложений AppStore от Apple для операционной системы iOS. Игра имеет не плохую оценку пользователей, но все равно меньшую, чем предыдущий вариант: 4.4 из 5, и занимает лишь тридцать седьмое место в рейтинге «Настольные игры»[2]. Хоть оценка чуть хуже, чем предыдущее приложение, но все равно достаточно высокая. Хочется сразу отметить, что в данной игре у пользователя есть возможность исправлять свои ошибки, то есть при не правильном выборе цифры, игрок может стереть или заменить свой выбор. Хорошо проработанные статистические данные, вопросы usability, наличие функции исправления ошибок и выбора «области игры» облегчают решение головоломки. Как и в предыдущем проекте, в приложении очень много рекламы, из-за чего снижается удобство работы.

1.1.3. Судоку от Brainum. Android.

Данное приложение можно скачать в магазине приложений PlayMarket от Google для операционной системы Android. Проект занимает одну из самых высоких позиций в рейтинге «Головоломки», имея оценку 4.9 из 5, при этом данное приложение скачало более десяти миллионов человек[3]. Игра очень хорошо проработана: пользователь может делать заметки, изменять свой выбор цифры, менять уровень сложности. В приложении почти, что нет рекламы, которая мешает пользователю, в отличие от предыдущих вариантов. Игрок может оставлять заметки, следить за выбранными строкам, столбцами и «маленькими квадратами». Вопросы usability оставляют желать лучшего: интерфейс проработан плохо, а контрастность фона и текста низкая, за счет чего снижается удобство просмотра и работы с приложением. Статистические данные проработаны хуже, чем в предыдущих проектах. В игре нет таймера, что не позволяет отслеживать время, которое пользователь затратил на решение судоку с определенной сложностью.

1.1.4. Судоку by CB. Веб-ресурс.

По результатам запроса в поисковой системе Яндекс по ключевым словам «Судоку» в верхних позициях поиска расположена игра Судоку by CB . В проекте присутствует функция выбора сложности и отслеживание области игры, таймер. На веб-ресурсе очень мало рекламы. Есть возможность исправлять ошибки. Как и в предыдущем проекте usability проработано плохо: размер текста и задний фон снижают удобство решения судоку. Совершенно нет статистических данных.

1.1.5. Сравнительный анализ.

На основании предыдущего исследования (1.1.1.-1.1.4) можно сделать вывод о ряде критериев, которые являются важными при формировании сравнительного анализа в рамках данной работы. Критериями являются: • наличие статистических данных; • usability; • наличие выделения выбранных строк, столбцов и «маленьких квадратов»; • наличие рекламы; • выбор уровня сложности; • наличие функции исправления ошибок; • наличие таймера времени. Шкала относительной оценки выбрана в диапазоне [1-5] для критериев: usability, наличие рекламы; и [да/нет] для критериев: наличие статистических данных, наличие выделения выбранных строк, столбцов и «маленьких квадратов», выбор уровня сложности, наличие функции исправления ошибок, наличие таймера времени.

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

1.2. Хранение данных.

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

1.3. Уровни сложности.

Сложность головоломки – один из самых ключевых моментов, который надо рассмотреть. Изучив другие проекты, можно прейти к выводу, что в основном существует три уровня сложности: «легкий», «нормальны» и «сложный». Сложность каждого судоку следует добиться путем «удаления» клеток, и это одна из самых сложных частей проекта. Всего в головоломке восемьдесят одна клетка, принято считать, что задача легкая, если на поле есть минимум пятьдесят заполненных клеток, нормальным – минимум сорок, и сложным – тридцать[6]. Таким образом, можно сделать вывод, что для достижения легкого уровня сложности необходимо удалить тридцать клеток, второго – сорок, и третьего – пятьдесят.