Найти в Дзене
Игры в Excel

за 9 кадров научу создавать игру

Раньше я показывала как работает игровой тренажер таблицы умножения. На одном и том же принципе можно создать сколько угодно игровых сценариев.
Сегодня я покажу как создать простую и красивую игру по таблице умножения на 4. Я не предлагаю готовых файлов, так как работаю в устаревшей версии 2003 офиса, но и на последних версиях, проверено, можно создать такие же игры.

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

Создаем новую книгу. В ней должно быть не менее 2х листов.
Создаем новую книгу. В ней должно быть не менее 2х листов.
Не знаю можно ли вставить в Дзен более крупные изображения... Палец указывает на поле, куда можно вставить имя для объекта. В нашем случае это фоновая картинка "Занавес"
Не знаю можно ли вставить в Дзен более крупные изображения... Палец указывает на поле, куда можно вставить имя для объекта. В нашем случае это фоновая картинка "Занавес"
Объекты с меньшими индексами ставьте вперед, Они будут выходить на передний план последними, и могут загородить кого-то из дальних. Странно будет, если наоборот.
Объекты с меньшими индексами ставьте вперед, Они будут выходить на передний план последними, и могут загородить кого-то из дальних. Странно будет, если наоборот.
На экране сверху  - окно меню, в котором можно выбрать запись макроса. А нижнее окно показывает, что надо выбрать запись не в личную книгу макросов, а именно в создаваемый файл - Эта книга.
На экране сверху - окно меню, в котором можно выбрать запись макроса. А нижнее окно показывает, что надо выбрать запись не в личную книгу макросов, а именно в создаваемый файл - Эта книга.
Если зайти в книгу макросов чтобы посмотреть что мы там записали, двигая объект вперед-назад, то увидим следующее...ах, окошко очень-очень мало. Продублирую:
Если зайти в книгу макросов чтобы посмотреть что мы там записали, двигая объект вперед-назад, то увидим следующее...ах, окошко очень-очень мало. Продублирую:

ActiveSheet.Shapes("Р1").Select 'выбрали объект Р1 Selection.ShapeRange.ZOrder msoBringToFront 'выдвинули его вперед Selection.ShapeRange.ZOrder msoSendToBack 'Задвинули его назад,

Самое скучное вставлять и переименовывать кур
Самое скучное вставлять и переименовывать кур
В правой части листа создаем две кнопки и поле для ответов
В правой части листа создаем две кнопки и поле для ответов
Так выглядит лист С - столбцы А-Е. 
В столбце А расчеты, Зеленые ячейки задействованы в макросах  поэтому им даны имена, которые записаны большими буквами в столбце В
Так выглядит лист С - столбцы А-Е. В столбце А расчеты, Зеленые ячейки задействованы в макросах поэтому им даны имена, которые записаны большими буквами в столбце В
А вот так выглядят формулы этого листа (рассмотреть можно только с экрана компьютера)
А вот так выглядят формулы этого листа (рассмотреть можно только с экрана компьютера)

Осталось записать два макроса :

Sub БоеваяЗадача()
' ПОЛУЧАЕМ НОВОЕ ЗАДАНИЕ
' ставим флажок, подавляющий комментарии
Range("флаг").Value = 0
' чтобы задание не повторялось сразу же,
nepov:
Calculate
If Range("Задание").Value = Range("Генератор").Value Then GoTo nepov
' Зафиксируем задание
Range("Задание").Value = Range("Генератор").Value
' выводим вперед занавес
ActiveSheet.Shapes("Занавес").Select
Selection.ShapeRange.ZOrder msoBringToFront
' считываем из Задания сколько кур предстоит накормить
i = Range("Задание").Value
'уменьшая счётчик, выводим одну за другой из-за занавеса вперед
vivodim:
nama = "Р" & i
ActiveSheet.Shapes(nama).Select
Selection.ShapeRange.ZOrder msoBringToFront
i = i - 1
If i > 0 Then GoTo vivodim
' выводим вперед кнопку с червячками для ответа
ActiveSheet.Shapes("Ответить").Select
Selection.ShapeRange.ZOrder msoBringToFront
' выделяем ячейку, куда надо вписать ответ и очищаем её
Range("Решение").Select
Selection.ClearContents
End Sub

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Вышеприведённый макрос надо назначить Зеленой кнопке "НовПрим"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Sub ДанныеРазведки()
' прячем задание за занавесом
ActiveSheet.Shapes("Занавес").Select
Selection.ShapeRange.ZOrder msoBringToFront
'чтобы показать комментарий, ставим разрешающий флажок Range("флаг").Value = 1
'если ответ правильный, выводим Сытых кур, если нет - Голодных
nam = "С"
If Range("прав_ли").Value = 0 Then GoTo mimo
' в эту ветку попадаем, если ответ неверен
nam = "Г"
' выводим вперед разбитое корыто ActiveSheet.Shapes("Невнятица").Select
Selection.ShapeRange.ZOrder msoBringToFront
mimo:
' а теперь выводим кур. Каких? - задано раньше
i = Range("Задание").Value
'и уменьшая счётчик, выводим одну за другой из-за занавеса вперед
vivodim:
nama = nam & i
ActiveSheet.Shapes(nama).Select
Selection.ShapeRange.ZOrder msoBringToFront
i = i - 1
If i > 0 Then GoTo vivodim
' выводим вперед кнопку с новым заданием для ответа
ActiveSheet.Shapes("НовПрим").Select
Selection.ShapeRange.ZOrder msoBringToFront
' выделяем ячейку, куда надо вписать ответ
Range("Решение").Activate
End Sub

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
А этот макрос присваиваем рисунку с червячками - объект "Ответить"
он будет работать у нас кнопкой кормления кур

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

Попробуйте. Должно работать