Раньше я показывала как работает игровой тренажер таблицы умножения. На одном и том же принципе можно создать сколько угодно игровых сценариев.
Сегодня я покажу как создать простую и красивую игру по таблице умножения на 4. Я не предлагаю готовых файлов, так как работаю в устаревшей версии 2003 офиса, но и на последних версиях, проверено, можно создать такие же игры.
Я вставляю картинки в формате PNG на прозрачном фоне. Эти картинки я взяла в интернете, но здесь они использованы только как пример. Вы можете взять любые другие - свои собственные или даже обработанные фотографии и создать игру по своему вкусу
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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
А этот макрос присваиваем рисунку с червячками - объект "Ответить"
он будет работать у нас кнопкой кормления кур
Теперь можно наложить кнопки друг на друга, чтобы не сбиваться на какую когда нажимать - ненужная будет скрываться под нужной.
Попробуйте. Должно работать