Спроектировать и реализовать программу, имитирующую сборку "Кубик рубика 3x3".
- Сохранение и чтение состаяния кубика из файла
- Проверка корректности текущего состояния (инвариант состаяния буфера)
- Вывод в консоль текущего состояния
- Вращение граней кубика с помощью вводимых команд
- Генерация случайного состояния Кубика Рубика, корректного с точки зрения инварианта состояния
- Реализовать графический интерфейс приложения, с использованием "OpenGL Utility Toolkit"
- Программа должна быть спроектирован, с использованием ООП
- Логические сущности должны быть выделены в отдельные классы