--- tags: Python Advanced --- # Практика 8. Сапер (PyQt5) ## Документация PyQt5 Домашняя страница PyQt5 находится по адресу https://riverbankcomputing.com/software/pyqt/intro, а домашняя страница документации — по адресу https://www.riverbankcomputing.com/static/Docs/PyQt5/. Пока вы можете ограничиться простым просмотром документации. Она вам пригодится, если вы захотите внести изменения в [игру Сапер](https://github.com/roman-yatsenko/pyqt-saper-2022) или займетесь созданием собственной игры. ## Базовый уровень ### Задача 1. *Радуга* Добавить разные цвета для разных чисел количества мин вокруг клетки игрового поля. ### Задача 2. *Уровни* Добавить в интерфейс выбор уровня (3 уровня). При выборе уровня перезапускать игру. Лучше использовать RadioButton. ### Задача 3. *Рекорды* Сохранять в файле рекорд по скорости для каждого уровня. По ходу игры отображать рекорд для текущего уровня. Если улучшил рекорд, то обновить его в интерфейсе игры и в файле. ## Средний уровень ### Задача 4. *Первый ход* Позвольте игроку выбрать свой первый ход. Попробуйте включить расчет позиций мин после первого нажатия игрока так, чтобы он не попадал своим ходом на мину. ### Задача 5. *Игра без флагов* Для прохождения игры вам нужно только открыть все клетки, поэтому профессиональные игроки не ставят флаги чтобы сократить количество лишних кликов. Добавьте такой режим игры без флагов. ### Задача 6. *Двигающиеся мины* Дайте возможность спрятанным минам двигаться по полю между ходами. Храните список доступных нераскрытых позиций и позвольте минам двигаться по ним. Вам нужно будет пересчитывать мины вокруг клеток после каждого нажатия. ## Повышенный уровень ### Задача 7. *Сканер* Добавьте усилитель сканер для разведки определенной части игрового поля в автоматическом режиме. ### Задача 8. *3BV* 3BV (Bechtel's Board Benchmark Value) — это минимальное количество левых кликов, необходимых для прохождения игры без флагов. 3BV используется как мера относительной сложности карты. Научитесь рассчитывать показатель 3BV для текущего уровня. Для уровней новичок, любитель и профессионал существуют ограничения по 3BV, чтобы слишком удачные карты не попадали в рейтинг. Это 5/30/100 соответственно. Все игры, в которых 3BV ниже, не попадают в рейтинг. --- (c) Яценко Р.Н., 2021-2022 [Учебный центр компьютерных технологий "Кит"](http://kit.kh.ua/) <img src="https://i.imgur.com/Kh901c1.png" style="width: 150px; position: fixed; top: 100px; right: 10px; border: 0; box-shadow: none;">