|
Списки часто используются для программирования
различных викторин. Сделаем компьютерную игру «Да или нет?» В которой Скретч
случайным образом будет называть предмет и спрашивать, съедобный ли он?
Добавим к проекту подсчет баллов и времени игры с помощью переменных.
Для проекта нам понадобятся 2 списка: съедобное, несъедобное
и 5 переменных: баллы, номер, список, начало и время.
-
Создайте новый проект.
-
Создайте два глобальных списки: съедобное, несъедобное
(рис.12.15).
Рис. 12.15. Списки для игры
3. Создайте пять глобальных переменных:
баллы
- для подсчета количества правильных ответов;
список
- для случайного выбора в каждом туре игры одного из списков - 1 (съедобное)
или 2 (несъедобное);
номер
- для случайного выбора в каждом туре одного из трех номеров элементов
списка;
начало
- для сохранения стартового значения таймера;
время
- для сохранения продолжительности игры.
4. Соберите скрипт игры по образцу (рис.12.16)
Рис. 12.16. Скрипт игры «Да - Нет»
5. Проверьте работу скрипта.
6. Сохраните проект в файле да_нет.
Задание 1
Как можно сделать проект
интереснее? Давайте улучшим игру, добавив в нее журнал ответов игрока в
виде списка - игра.
Наша программа должна записывать в журнал заданный вопрос и полученный
от игрока ответ. По итогам игры список можно сохранить в текстовом
файле, что мы уже умеем делать.
Создайте глобальный список игра.
Блоки добавления элементов в список игра нужно установить в определенные
места скрипта. Самостоятельно решите, где именно они (рис.12.17.) должны
находиться, чтобы правильно записывать ответы игрока?
Рис. 12.17. Блоки записи вопросов и ответов игрока в список
игра
В список игра можно
также записать продолжительность игры и полученные баллы. Для этого
достаточно в нужное место скрипта вставить два блока (рис.12.18).
Самостоятельно решите, где именно они должны
находиться.
Рис. 12.18. Блоки записи продолжительности игры и баллов в
список игра
При желании можно также записать имя игрока. Для этого, как
не трудно догадаться, нужно поставить вопрос об имени в начале игры, до
старта подсчета времени игры, и сохранить полученный ответ в списке игра
(рис.12.19).
Рис. 12.19. Сохранения имени игрока в списке игра
Сохраните проект
да_нет_2
с внесенными изменениями.
Задание 2
Как можно сделать проект еще интереснее?
Во-первых, можно добавить количество съедобных и несъедобных
объектов. Вы это можете сделать самостоятельно.
Во-вторых, нашей игре не хватает зрелищности. Было бы интересно не
только называть объекты, но и показывать их изображения. Однако списки не
могут сохранять образы. Эту проблему легко решить, создав еще один спрайт,
список костюмов которого будет состоять из образов съедобных и несъедобных
объектов. Этот спрайт, получив сообщение
образ, должен показать костюм, который соответствует предмету. В наших
списках содержатся объекты, образы которых можно найти в папке Things,
при желании их можно нарисовать самостоятельно.
-
Создайте новый спрайт образы.
-
Сделайте для спрайта список костюмов в той же
последовательности, которая изображена на рисунке (рис.12.20.), с 1 по 3
- съедобные, с 4 по 6 - несъедобные.
Рис. 12.20.
Список костюмов для вопросов викторины
-
Добавьте в скрипт викторины блок отправки сообщения образ
сразу после того, как будут случайно выбраны списки и объекты
(рис.12.21).
Рис. 12.21.
Отправка сообщения другому спрайт
-
Создайте для спрайта образы скрипт обработки
сообщения образ. Если значение переменной список= 1, показывается
костюм, номер которого равен номеру элемента в списке съедобное.
Иначе показывается образ, номер которого равен номеру элемента в списке
несъедобное. Сделайте так, чтобы в начале игры спрайт образы
был спрятан и появлялся только после сообщения образ.
Рис. 12.22.
Скрипты для показа нужных образов
-
Поиграйте.
-
Сохраните проект в файле да_нет_3.
Задание 3
Можно ли сделать игру еще интереснее?
Создавая проект, мы не обращали внимания на сцену, звуки и графические
эффекты. Попробуйте внести собственные изменения в проект и сохраните
его ремикс под другим именем.
| |