Home - moevm/gui-1h2017-01 GitHub Wiki
Тренировка определения последнего этапа сборки кубика Рубика
Список участников:
- Азаров Артур
- Туров Владимир
- Шадринцев Игорь
Анализ пользователей
Обучающийся - определяет состояние верхнего слоя кубика Рубика и выбирает алгоритм конечной сборки. Сценарий использования:
- Программа выдает пользователю случайный вариант разборки PLL
- Пользователь определяет состояние PLL
- Пользователь выбирает алгоритм конечной сборки из набора предложенных программой вариантов
- Программа определяет правильность выбора
Анализ предметной области
Основные понятия
PLL (Permutation of the Last Layer) – заключительный этап сборки кубика Рубика, заключающийся в перестановке (пермутации) ребер и улов последнего слоя, относительно друг друга, когда они уже ориентированы.
Алгоритм - последовательность поворотов, в результате которых определённые элементы кубика Рубика меняются местами между собой, а определённые элементы не меняют своего положения.
Случай PLL - один из 21-го возможного варианта перестановки ребер и углов последнего слоя, в результате которой кубик Рубика переходит в собранное состояние.
Двугранное определение - техника определения случая PLL, основанная на том, что любой случай PLL можно определить, посмотрев на две его грани из четырёх.
Анализ задач и разработка архитектуры
Основные задачи проекта:
- Генерация корректных случайных состояний PLL
- Отображение кубика в перспективе, удобной для решения задачи
- Сбор статистики и построение графика прогресса
- Обучение пользователя по работе с программой и основам определения PLL случаев
Архитектура приложения
Диаграмма компонентов