$

Практическая работа №12. Да или нет?

Списки часто используются для программирования различных викторин. Сделаем компьютерную игру «Да или нет?» В которой Скретч случайным образом будет называть предмет и спрашивать, съедобный ли он? Добавим к проекту подсчет баллов и времени игры с помощью переменных.

Для проекта нам понадобятся 2 списка: съедобное, несъедобное и 5 переменных: баллы, номер, список, начало и время.

  1. Создайте новый проект.

  2. Создайте два глобальных списки: съедобное, несъедобное (рис.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, при желании их можно нарисовать самостоятельно.
  1. Создайте новый спрайт образы.

  2. Сделайте для спрайта список костюмов в той же последовательности, которая изображена на рисунке (рис.12.20.), с 1 по 3 - съедобные, с 4 по 6 - несъедобные.


    Рис. 12.20. Список костюмов для вопросов викторины
  3. Добавьте в скрипт викторины блок отправки сообщения образ сразу после того, как будут случайно выбраны списки и объекты (рис.12.21).


    Рис. 12.21. Отправка сообщения другому спрайт
  4. Создайте для спрайта образы скрипт обработки сообщения образ. Если значение переменной список= 1, показывается костюм, номер которого равен номеру элемента в списке съедобное. Иначе показывается образ, номер которого равен номеру элемента в списке несъедобное. Сделайте так, чтобы в начале игры спрайт образы был спрятан и появлялся только после сообщения образ.


    Рис. 12.22. Скрипты для показа нужных образов
  5. Поиграйте.

  6. Сохраните проект в файле  да_нет_3.

Задание 3

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

 

 

 

$