В центре экрана изображаем табло из 7 ячеек, под которым рисуем курсор. Ячейки заполняем числами от 1 до 7 случайным образом, но не показываем пользователю. После нажатия на клавишу ′S′ на небольшой интервал времени (около секунды) числа показываются пользователю для запоминания, а затем снова скрываются. Задача пользователя открыть числа так, чтобы последовательность открытия совпадала со значением открываемых чисел.
После нажатия на ′→′ курсор смещается на одну позицию вправо, а после нажатия на ′←′ - на одну позицию влево. Нажатие на пробел приводит к открытию содержимого клетки, под которой стоит курсор. При несовпадении выдается сообщение об ошибке. Попытка открыть «открытую» клетку также должна приводить к сообщению об ошибке. При открытии всех клеток должно появляться поощрение. Нажатие ′С′ должно генерировать случайную начальную позицию. Желателен счетчик числа ходов. После нажатия «Escape» программа завершает работу.
- Создаем вектор пар. Заполняем первые элементы пары числами int от 1 до 7, а вторые – символами типа QString ‘X’.
- Перемешиваем его и выводим второй элемент каждой пары на экран.
- Ведем счетчик действий игрока – он увеличивается на 1, когда игрок нажимает на ячейку. Если этот счетчик становится равен 7, то засчитывается победа. Если этот счетчик не равен первому элементу ячейки, то засчитывается поражение.
- Игрок информируется о победе или поражении и ему предоставляется выбор: перезапустить игру или нет.
- Так же игрок может в любой момент перезапустить игру или выйти из нее. Кнопки, отвечающие за это, называются кнопками меню.