Этой пасхалкой разработчики FastReport решили показать нам альтернативный способ использования своего генератора. На основе отчета они создали игру – всем известный «Сапер». Удивительно, но это и правда возможно благодаря встроенному скрипту отчета. Однако, это не просто отчет из демонстрационной папки. Он спрятан от пользователей. В этом и заключается пасхалка. А найти его можно в дизайнере отчетов с помощью специальной кодовой фразы. Давайте попробуем это сделать. Запустите дизайнер отчетов и выберите меню Файл->Новый. В открывшейся форме нужно ввести на клавиатуре слово GAME. Обратите внимание регистр. После того, как вы введете это слово, появится новый раздел Games:
Название раздела намекает, на то, что игр может быть много. А пока – один отчет-игра FastM1nesweeper. Понятно, что название нужно читать как Fast Minesweeper. Давайте выберем этот отчет и добавим в дизайнер.
При этом мы увидим вот такое окно:
Здесь мы можем задать размеры игрового поля и количество бомб. Если вы не хотите придумывать размеры, то можете воспользоваться пресетами в выпадающем списке Difficulty:
Каждый вариант имеет свои настройки размеров поля и количества бомб. Что ж, давайте попробуем задать свои настройки, попроще. Вот так будет выглядеть шаблон отчета:
На бэнде «Данные» будет отрисовано игровое поле с помощью объекта Table cell. В зависимости от количества столбцов и строк поле заполнится ячейками. Ячейка имеет 5 состояний: заполненная, пустая, с цифрой, с разминированной бомбой и с взорвавшейся бомбой.
Если вы не помните правила игры, то напомню. Вам нужно открыть все клетки на поле и при этом ни разу не попасть на бомбу. Чтобы вычислить как далеко находится бомба от конкретной ячейки, в ней пишется цифра. Она указывает, сколько бомб находится в радиусе одной клетки вокруг этой ячейки. Ориентируясь на цифры в соседних ячейках можно сделать вывод где находится бомба. Конечно, часть ячеек вам придется открыть на удачу. Итак, запустим отчет в режиме предварительного просмотра:
В нашем случае, задача довольно проста –нужно вычислить всего 3 бомбы. Вот так будет выглядеть победа:
А так – проигрыш:
Теперь рутинная работа по созданию отчетов будет веселее. Не выходя из дизайнера, вы можете немного отдохнуть и развлечься, ведь не обязательно рассказывать своему начальнику об этой пасхалке.
Заглянуть на вкладку Script, количество кода впечатляет. Полноценная программа. Вы сами можете попробовать свои силы и написать другую игру.
Пасхалка с играми работает не только в дизайнере отчетов FastReport.Net, но и в FastReport Designer Community.
Будем надеяться, что разработчики будут нас периодически радовать новыми играми.