Как сделать игру в эксель

Добавил пользователь Евгений Кузнецов
Обновлено: 01.09.2024

Excel — мощная программа, в которой можно создавать другие программы, поменьше. Даже отдельные функции являют собой, по сути дела, особые программки. Не все они служат скучным целям. Игр, написанных специально для Excel, довольно много. Возможно, игры и не исчезли, а просто их упрятали поглубже. Если вам известно, как запустить в Microsoft Office какую-нибудь игрушку, напишите мне, пожалуйста. Иногда в творческом процессе так хочется кого-нибудь пристрелить или где-нибудь полетать…

Игры inside

  1. Создать новую книгу.
  2. Выделить строку gод номером 95.
  3. Нажать клавишу табуляции.
  4. Открыть меню Справка ? 0 программе.
  5. Удерживая одновременно клавиши Ctr, Alt и Shift, щелкнуть на пункте Техническая поддержка.

В Excel 97 действия для вызова игры такие.

  1. Выполнить команду Сервис ? Параметры и в открывшемся окне на вкладке Общие снять флажок Стиль ссылок R1C1.
  2. Создать таблицу.
  3. Нажать F5 и ввести в появившемся окне кабалистическую надпись Х97:_97.
  4. Нажать Enter.
  5. Выделить строку с номером 97.
  6. Нажать клавишу табуляции, а затем, удерживая Shift и Ctrl, щелкнуть на значке Мастера диаграмм и подождать, пока открывающееся окно не заполнит весь экран.

В результате вы сможете оценить достоинства авиасимулятора, придуманного и разработанного программистами Microsoft.

В Excel 2000 процедура запуска игры усложнена. Нужно выполнить такие действия.

  1. Создать новую книгу.
  2. Сохранить ее в формате веб-страницы (Сохранить как Web-страницу), установив флажки выделенное: Лист и Добавить интерактивность.
  3. Открыть созданную страницу в Internet Explorer версии не ниже 5.0.
  4. Выделить строку 2000.
  5. Клавишей табуляции перевести выделение на ячейку WC 2000.
  6. Одновременно нажать клавиши Ctrl, Alt и Shift, расположенные на клавиатуре слева, и щелкнуть в левом верхнем углу внедренного в веб-страницу листа Excel на эмблеме Office.

После этого у вас появляется возможность погонять по виртуальной трассе виртуальные же машинки.

Игры-макросы

В Excel (и вообще в любой программе Microsoft Office) есть возможность написать мини-приложение на языке программирования VBA (Visual Basic for Applications). Обычно на нем пишут какие-нибудь полезные вещи — сложные расчеты, поиск объектов по определенному признаку, хитрое форматирование данных. Но никто не запрещает и игру написать.

Это очень важное предупреждение. Давайте с ним разберемся, прежде чем пойти дальше. Как я уже писал, игры — это мини-программы (макросы), написанные на языке VBA. Это не очень «навороченный* язык, по всякого рода вредители навострились писать вирусы и на нем.

Поэтому в Excel 2007-2013 по умолчанию выполнение всех макросов запрещено. Как известно, воздержание — единственный надежный метод предохранения. Поэтому, увидев такое предупреждение в незнакомом файле, который вы получили неизвестно от кого, лучше сразу закройте его и займитесь чем-нибудь другим. В данном случае я трижды плюнул через левое плечо, помолился лицензионному антивирусу, который стережет мой компьютер, и не стал закрывать файл. Более того, я нажал кнопку Параметры и увидел окно настроек.

Выяснилось, что руки до сих пор помнят клавиши управления игрой: на цифровой клавиатуре стрелки <- и -> сдвигают фигуру соответственно влево и вправо; стрелка ? поворачивает фигуру вокруг своей оси; стрелка ? ускоряет движение вниз. Мышечная память оказалась очень кстати, потому что в самом файле об управлении игрой — ни слова.

Снимок экрана D1: J3 выбран в Excel

Используя несколько функций, вы можете создать ролик для игры в кости, который графически отображает пару игральных костей на вашем рабочем листе.

Каждый кубик отображает случайное число, сгенерированное функцией RANDBETWEEN . Точки на гранях матрицы используют шрифт Wingdings, а комбинация функций AND , IF и OR управляет появлением точек в каждой ячейке.

В зависимости от случайных чисел, генерируемых функцией RANDBETWEEN, точки появятся в соответствующих ячейках на рабочем листе . Кости можно повторно бросить, пересчитав рабочий лист.

Эти инструкции применимы к Excel для Office 365, Excel 2019, 2016, 2013 и 2010.

Строить кости

Во-первых, вам нужно применить несколько методов форматирования, чтобы отобразить кости на листе Excel. К ним относятся изменение размера ячейки и выравнивания ячейки, а также тип и размер шрифта.

Откройте пустой лист в Excel и выберите ячейки от D1 до J3 .

Выберите высоту строки и введите 24,75 . Выберите ширину столбца и введите 5 .

Выберите Wingdings в Font списка и задать размер шрифта в 36 .

Выберите ячейки от D1 до F3 .

Выберите ячейки от H1 до J3 .

Добавьте функцию RANDBETWEEN

Как только вы закончите форматирование ячеек, вам нужно ввести функцию RANDBETWEEN в две ячейки, чтобы сгенерировать случайные числа, показанные на кости в виде точек.

Выберите ячейку E5 под Синим кубиком.

Выберите вкладку Формулы .

Выберите RANDBETWEEN в списке, чтобы вызвать диалоговое окно функции.

Введите 1 в нижнем поле и 6 в верхнем поле.

Выберите ОК . Случайное число от 1 до 6 появится в ячейке E5 .

Введите ту же формулу в ячейку I5 . Случайное число от 1 до 6 появится в ячейке I5 .

Функции за точками

Чтобы сгенерировать правильное количество точек, необходимо использовать функцию IF в ячейках D1-D3, E2 и F1-F3 в первой кости, а в ячейках H1-H3, I2 и J1-J3 во второй. Некоторые из ячеек также включают функцию И или ИЛИ .

Введите или вставьте приведенные ниже формулы в строку формул, а не непосредственно в ячейку, поскольку это приведет к неправильному форматированию ячейки.

В ячейках D1 и F1 введите следующую функцию:

Эта функция проверяет, находится ли случайное число в ячейке E5 между 2 и 6; если это так, функция помещает строчную букву L в ячейки D1 и F1, которая является точкой в шрифте Wingdings. Если нет, то клетки остаются пустыми. Чтобы получить тот же результат для второго кристалла, введите следующую функцию в ячейки H1 и J1 :

= ЕСЛИ (И (I5> = 2, I5

В ячейках D2 и F2 введите следующую функцию:

Эта функция проверяет, равно ли случайное число в ячейке E5 6; если так, это помещает точку в ячейки D2 и F2 . Если нет, клетка остается пустой. Чтобы получить тот же результат для второго кристалла, введите следующую функцию в ячейки H2 и J2 :

В ячейках D3 и F3 введите следующую функцию:

= ЕСЛИ (И (E5> = 4, E5

Эта функция проверяет, находится ли случайное число в ячейке E5 между 4 и 6; если это так, он помещает точку в ячейки D3 и F3 . Если нет, то клетки остаются пустыми. Чтобы получить тот же результат для второго кристалла, введите следующую функцию в ячейки H3 и J3 :


Практическая работа по моделированию игр "Чет или нечет?" и "Кубики". Показывает возможность использования генератора случайных чисел в Excel и функции СЧЕТЕСЛИ на примере этих игр.

Описание разработки

Игра

Решение:

В ячейку В3 введите формулу: =1 + ЦЕЛОЕ(СЛЧИС()*2), а в ячейку В4 - формулу: = ЕСЛИ(В2 = В3; ”Верно”;”Неверно”).

Однако, при таком оформлении листа еще до ввода играющим своего мнения в ячейку В2 проявятся 2 недостатка:

Теперь ответы в ячейке будут появляться только при наличии чисел в ячейке В2.

Правила игры. Играющий дожжен спрогнозировать 11 случайных чисел 1 или 2 (ячейки В3:В13), после чего в ячейках С3:С13 появляются числа, сгенерированные компьютером, а также определяется результат игры.

Игра моделирует бросание игрального кубика каждым из 2 участников, после чего определяется результат:

Игра

Для тех, кто не знает, расскажу правила игры: есть квадратное поле, которое состоит из ячеек, например 20х20. В этих ячейках расположено определенное количество мин (пусть будет 40). Все ячейки скрыты и игрок не знает, где эти мины спрятаны. Игрок пошагово открывает ячейку за ячейкой, пытаясь не попасть на мину. Когда игрок нажимает на пустую ячейку, она открывается и открывается некоторая область пустых ячеек вокруг нее. Данная пустая область ограничена ячейками, в которой содержатся цифры — цифра в ячейке показывает сколько мин расположено вокруг нее:

Сапер

Игра завершается тогда, когда открыты все ячейки, кроме тех, в которых содержатся мины — то есть в нашем случае (20х20-40) = 360 ячеек.

Для реализации этой задумки сначала был составлен алгоритм:

  1. Создать поле из ячеек
  2. Расположить мины на поле
  3. Расположить цифры на поле, показывающее количество мин вокруг
  4. Скрыть все поле другими цветами
  5. Создать события по нажатию на ячейку: если пустая, с цифрой, с миной

Также был составлен список проблем или недоработок, которые были найдены уже после написания кода:

Поле игры Сапер в Excel

Мины в игре Сапер в Excel

Пункт третий: необходимо в ячейках разместить цифры, которые будут показывать количество мин вокруг. Ниже представлен код для выполнения данного пункта:

В этом макросе мы проверяем каждую ячейку нашего минного поля, перебирая двумя циклами строки и столбцы. Мы считаем, сколько мин вокруг ячейки и вписываем в нее их количество. Если же мин вокруг ячейки нет — оставляем ее пустой.

Расстановка цифр в игре Сапер в Excel

Пункт четвертый: скрыть все мины и цифры. Это максимально просто: закрашиваем весь фон игрового диапазона новым цветом и точно таким же цветом окрашиваем шрифт мин и цифр, тем самым маскируя все поле:

Скрытое поле игры Сапер

Пункт пятый: события по нажатию на ячейку. Возможно, для кого-то данный пункт покажется сложным для восприятия, но я постараюсь рассказать все максимально просто.

Для его реализации составим подробный алгоритм:

Подробно разберем каждый из этих пунктов.

В данном коде есть две проверки.

Включение кода оптимизации — данный код взят отсюда. При запуске деактивируются некоторые опции Excel, которые негативно влияют на быстродействие.

Запуск рекурсии по раскрытию пустых ячеек вокруг. Рекурсия — это такое явление в программировании, когда функция/макрос/процедура запускает сама себя. И запускать себя она будет до тех пор, пока не встретится ограничивающее условие (в противном случае она может зациклиться и не закончиться никогда).

И если мы нажали на пустую ячейку — после выполнения данного макроса откроется вся пустая область вокруг нее.

Выключение кода оптимизации. Активируем опции Excel, которые мы выключили перед выполнением предыдущих макросов:

В моем примере также добавлена кнопка, которая запускает макрос full_game(), который полностью формирует поле для игры — ставит мины и цифры и закрашивает их шрифт и фон одинаковыми цветами. Также в ней запускается вышеупомянутый макрос оптимизации, для сокращения времени работы макросов.

Читайте также: